2010.04.30 summary of cloud futures 2010 marco parenzan pov

123
30 April, 2010 - slide 1 MOSE University of Trieste Cloud Futures 2010 http://research.microsoft.com/en- us/events/cloudfutures2010/ Marco Parenzan MOSE

Upload: guestfc79f4

Post on 11-May-2015

986 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 1MOSE ndash University of Trieste

Cloud Futures 2010

httpresearchmicrosoftcomen-useventscloudfutures2010

Marco Parenzan

MOSE

30 April 2010 - slide 2MOSE ndash University of Trieste

Marco Parenzan

36Piugrave di 30 anni sposato e due figli abito a Fiume Veneto (PN)

Un ―prodotto di questa Universitagrave

Passato di sviluppo software in aziende

di software (visione esterna)

di produzione (visione interna)

―Insourcing― (il contrario delllsquoOutsourcing)

Sono un libero professionista

Sviluppo applicazioni su commessa

Consulenza

Collaboro con il Laboratorio MOSE delllsquoUniversitagrave degli Studi di Trieste

Mi occupo di metodologie e strumenti di sviluppo

Mi occupo di progetti software 2

30 April 2010 - slide 3MOSE ndash University of Trieste

Attivitagrave di formazione

9 anni come Docente a Contratto in questa Universitagrave

4 alla Triennale di IngInf (Programmazione dei Calcolatori ndash ex Prof Cesari)

5 alla Magistrale di IngInf (Programmazione dei Web Services)

Formazione in azienda

Formazione in enti regionali

IALCentro Formazione Pordenone (Villaggio del Fanciullo)

2 IFTS (Istruzione e formazione tecnica superiore 1200 ore ndash Tecnico Software) intero curriculum Microsoft

Speaker per user groups

xenet (httpwwwxenet)

UGIALTnet (httpwwwugialtnet)

1nn0va (httpwww1nn0vanet)

Eventi presso il Consorzio Universitario di Pordenone

3

30 April 2010 - slide 4MOSE ndash University of Trieste

1nn0va

Lassociazione non ha scopo di lucro egrave apartitica apolitica e ha finalitagrave esclusivamente scientificaSi prefigge la diffusione delle tecnologie emergenti e attuali attraverso lorganizzazione di conferenze la redazione a la diffusione di pubblicazioni lapplicazione pratica in progetti non a fini di lucro di innovative tecniche e metodologie di sviluppo informatico il coordinamento con altre Associazioni gruppi o Enti

Divulgazione sul territorio (pordenonese)

30 April 2010 - slide 5MOSE ndash University of Trieste

Primo 1nn0valab 28 maggio 2010ECCEZIONALE EVENTO WPF DI 1NN0VA NASCE 1nn0vaLAB

Niente slide o lunghi monologhi potrete toccare con mano digitare direttamente il codice mostrato da Marco su un PC messo eccezzionalmente a vostra completa disposizione per questo evento

Dalla versione 30 del framework NET rilasciata nel novembre del 2006 abbiamo a disposizione una nuova libreria per sviluppare applicazioni desktop Windows Presentation Foundation A quattro anni dal rilascio e in concomitanza del rilascio del framework NET 40 egrave ora di fare il salto Capiremo

middot quali sono i nuovi presupposti e quindi le differenze dal vecchio modello GDI delle Windows Forms

middot il nuovo sistema di layout

middot la nuova relazione tra designer e developer con llsquoapproccio dichiarativo e il linguaggio XAML

middot llsquouso di pattern architetturali nello sviluppo di applicazioni desktop con il Model-View-View Model (M-V-VM)

middot perchegrave egrave ora di passare a WPF visto che abbiamo anche Silverlight per lo sviluppo di Rich Internet Applications (ora alla versione 4) e (supernovitagrave) lo sviluppo di applicazioni per il prossimo Windows Phone 7

Levento si svolgeragrave al Consorzio Universitario di Pordenone sito in via Prasecco 3a sala L2 (piano interrato) edificio B

30 April 2010 - slide 6MOSE ndash University of Trieste

Call for abstract

30 April 2010 - slide 7MOSE ndash University of Trieste

Call for AbstractsldquoAdvancing Research with Cloud Computingrdquo

Cloud computing is fast becoming the most important platform for research Researchers today need vast computing resources to collect share manipulate and explore massive data sets as well as to build and deploy new services for research Cloud computing has the potential to advance research

discoveries by making data and computing resources readily availableat unprecedented economy of scale and nearly infinite scalability To realize the full promise of cloud computing for research however one must think about the cloud as a holistic platform for creating new services new experiences and new methods to pursue research teaching and scholarly communication This goal presents a broad range of interesting questions

We invited extended abstracts that illustrate the role of cloud computing across a variety of research and curriculum development areasmdashincluding computer science earth sciences healthcare humanities life sciences and social sciencesmdashthat highlight how new techniques and methods of research in the cloud may solve distinct challenges arising in those diverse areas

Source httpresearchmicrosoftcomen-useventscloudfutures2010

30 April 2010 - slide 8MOSE ndash University of Trieste

Microsoft Research

30 April 2010 - slide 9MOSE ndash University of Trieste

The University of Washington

eScience Institute

Ed LazowskaBill amp Melinda Gates Chair in

Computer Science amp EngineeringUniversity of Washington

DirectorUniversity of Washington

eScience Institute

httplazowskacswashingtoneducloud2010pdf

30 April 2010 - slide 10MOSE ndash University of Trieste

Dan Reed

30 April 2010 - slide 11MOSE ndash University of Trieste

Massive volumes of data from sensors and networks of sensors

30 April 2010 - slide 12MOSE ndash University of Trieste

Apache Point telescopeSDSS

80TB of raw image data

(80000000000000 bytes)

over a 7 year period

30 April 2010 - slide 13MOSE ndash University of Trieste

Large Hadron Collider

700MB of data

per second

60TBday 20PByear

30 April 2010 - slide 14MOSE ndash University of Trieste

Illumina

HiSeq 2000

Sequencer

~1TBday

Major labs

have 25-100

of these

machines

30 April 2010 - slide 15MOSE ndash University of Trieste

Regional Scale

Nodes of the NSF

Ocean ObservatoriesInitiative

1000 km of fiber

optic cable on the

seafloor connectingthousands of

chemical physicaland biological

sensors

30 April 2010 - slide 16MOSE ndash University of Trieste

The Web

20+ billion web pagesx 20KB = 400+TB

One computer can

read 30-35 MBsec

from disk =gt 4 monthsjust to read the web

30 April 2010 - slide 17MOSE ndash University of Trieste

eScience Sensor-driven (data-driven)science and engineering

Transforming science (again)

Jim Gray

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 2: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 2MOSE ndash University of Trieste

Marco Parenzan

36Piugrave di 30 anni sposato e due figli abito a Fiume Veneto (PN)

Un ―prodotto di questa Universitagrave

Passato di sviluppo software in aziende

di software (visione esterna)

di produzione (visione interna)

―Insourcing― (il contrario delllsquoOutsourcing)

Sono un libero professionista

Sviluppo applicazioni su commessa

Consulenza

Collaboro con il Laboratorio MOSE delllsquoUniversitagrave degli Studi di Trieste

Mi occupo di metodologie e strumenti di sviluppo

Mi occupo di progetti software 2

30 April 2010 - slide 3MOSE ndash University of Trieste

Attivitagrave di formazione

9 anni come Docente a Contratto in questa Universitagrave

4 alla Triennale di IngInf (Programmazione dei Calcolatori ndash ex Prof Cesari)

5 alla Magistrale di IngInf (Programmazione dei Web Services)

Formazione in azienda

Formazione in enti regionali

IALCentro Formazione Pordenone (Villaggio del Fanciullo)

2 IFTS (Istruzione e formazione tecnica superiore 1200 ore ndash Tecnico Software) intero curriculum Microsoft

Speaker per user groups

xenet (httpwwwxenet)

UGIALTnet (httpwwwugialtnet)

1nn0va (httpwww1nn0vanet)

Eventi presso il Consorzio Universitario di Pordenone

3

30 April 2010 - slide 4MOSE ndash University of Trieste

1nn0va

Lassociazione non ha scopo di lucro egrave apartitica apolitica e ha finalitagrave esclusivamente scientificaSi prefigge la diffusione delle tecnologie emergenti e attuali attraverso lorganizzazione di conferenze la redazione a la diffusione di pubblicazioni lapplicazione pratica in progetti non a fini di lucro di innovative tecniche e metodologie di sviluppo informatico il coordinamento con altre Associazioni gruppi o Enti

Divulgazione sul territorio (pordenonese)

30 April 2010 - slide 5MOSE ndash University of Trieste

Primo 1nn0valab 28 maggio 2010ECCEZIONALE EVENTO WPF DI 1NN0VA NASCE 1nn0vaLAB

Niente slide o lunghi monologhi potrete toccare con mano digitare direttamente il codice mostrato da Marco su un PC messo eccezzionalmente a vostra completa disposizione per questo evento

Dalla versione 30 del framework NET rilasciata nel novembre del 2006 abbiamo a disposizione una nuova libreria per sviluppare applicazioni desktop Windows Presentation Foundation A quattro anni dal rilascio e in concomitanza del rilascio del framework NET 40 egrave ora di fare il salto Capiremo

middot quali sono i nuovi presupposti e quindi le differenze dal vecchio modello GDI delle Windows Forms

middot il nuovo sistema di layout

middot la nuova relazione tra designer e developer con llsquoapproccio dichiarativo e il linguaggio XAML

middot llsquouso di pattern architetturali nello sviluppo di applicazioni desktop con il Model-View-View Model (M-V-VM)

middot perchegrave egrave ora di passare a WPF visto che abbiamo anche Silverlight per lo sviluppo di Rich Internet Applications (ora alla versione 4) e (supernovitagrave) lo sviluppo di applicazioni per il prossimo Windows Phone 7

Levento si svolgeragrave al Consorzio Universitario di Pordenone sito in via Prasecco 3a sala L2 (piano interrato) edificio B

30 April 2010 - slide 6MOSE ndash University of Trieste

Call for abstract

30 April 2010 - slide 7MOSE ndash University of Trieste

Call for AbstractsldquoAdvancing Research with Cloud Computingrdquo

Cloud computing is fast becoming the most important platform for research Researchers today need vast computing resources to collect share manipulate and explore massive data sets as well as to build and deploy new services for research Cloud computing has the potential to advance research

discoveries by making data and computing resources readily availableat unprecedented economy of scale and nearly infinite scalability To realize the full promise of cloud computing for research however one must think about the cloud as a holistic platform for creating new services new experiences and new methods to pursue research teaching and scholarly communication This goal presents a broad range of interesting questions

We invited extended abstracts that illustrate the role of cloud computing across a variety of research and curriculum development areasmdashincluding computer science earth sciences healthcare humanities life sciences and social sciencesmdashthat highlight how new techniques and methods of research in the cloud may solve distinct challenges arising in those diverse areas

Source httpresearchmicrosoftcomen-useventscloudfutures2010

30 April 2010 - slide 8MOSE ndash University of Trieste

Microsoft Research

30 April 2010 - slide 9MOSE ndash University of Trieste

The University of Washington

eScience Institute

Ed LazowskaBill amp Melinda Gates Chair in

Computer Science amp EngineeringUniversity of Washington

DirectorUniversity of Washington

eScience Institute

httplazowskacswashingtoneducloud2010pdf

30 April 2010 - slide 10MOSE ndash University of Trieste

Dan Reed

30 April 2010 - slide 11MOSE ndash University of Trieste

Massive volumes of data from sensors and networks of sensors

30 April 2010 - slide 12MOSE ndash University of Trieste

Apache Point telescopeSDSS

80TB of raw image data

(80000000000000 bytes)

over a 7 year period

30 April 2010 - slide 13MOSE ndash University of Trieste

Large Hadron Collider

700MB of data

per second

60TBday 20PByear

30 April 2010 - slide 14MOSE ndash University of Trieste

Illumina

HiSeq 2000

Sequencer

~1TBday

Major labs

have 25-100

of these

machines

30 April 2010 - slide 15MOSE ndash University of Trieste

Regional Scale

Nodes of the NSF

Ocean ObservatoriesInitiative

1000 km of fiber

optic cable on the

seafloor connectingthousands of

chemical physicaland biological

sensors

30 April 2010 - slide 16MOSE ndash University of Trieste

The Web

20+ billion web pagesx 20KB = 400+TB

One computer can

read 30-35 MBsec

from disk =gt 4 monthsjust to read the web

30 April 2010 - slide 17MOSE ndash University of Trieste

eScience Sensor-driven (data-driven)science and engineering

Transforming science (again)

Jim Gray

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 3: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 3MOSE ndash University of Trieste

Attivitagrave di formazione

9 anni come Docente a Contratto in questa Universitagrave

4 alla Triennale di IngInf (Programmazione dei Calcolatori ndash ex Prof Cesari)

5 alla Magistrale di IngInf (Programmazione dei Web Services)

Formazione in azienda

Formazione in enti regionali

IALCentro Formazione Pordenone (Villaggio del Fanciullo)

2 IFTS (Istruzione e formazione tecnica superiore 1200 ore ndash Tecnico Software) intero curriculum Microsoft

Speaker per user groups

xenet (httpwwwxenet)

UGIALTnet (httpwwwugialtnet)

1nn0va (httpwww1nn0vanet)

Eventi presso il Consorzio Universitario di Pordenone

3

30 April 2010 - slide 4MOSE ndash University of Trieste

1nn0va

Lassociazione non ha scopo di lucro egrave apartitica apolitica e ha finalitagrave esclusivamente scientificaSi prefigge la diffusione delle tecnologie emergenti e attuali attraverso lorganizzazione di conferenze la redazione a la diffusione di pubblicazioni lapplicazione pratica in progetti non a fini di lucro di innovative tecniche e metodologie di sviluppo informatico il coordinamento con altre Associazioni gruppi o Enti

Divulgazione sul territorio (pordenonese)

30 April 2010 - slide 5MOSE ndash University of Trieste

Primo 1nn0valab 28 maggio 2010ECCEZIONALE EVENTO WPF DI 1NN0VA NASCE 1nn0vaLAB

Niente slide o lunghi monologhi potrete toccare con mano digitare direttamente il codice mostrato da Marco su un PC messo eccezzionalmente a vostra completa disposizione per questo evento

Dalla versione 30 del framework NET rilasciata nel novembre del 2006 abbiamo a disposizione una nuova libreria per sviluppare applicazioni desktop Windows Presentation Foundation A quattro anni dal rilascio e in concomitanza del rilascio del framework NET 40 egrave ora di fare il salto Capiremo

middot quali sono i nuovi presupposti e quindi le differenze dal vecchio modello GDI delle Windows Forms

middot il nuovo sistema di layout

middot la nuova relazione tra designer e developer con llsquoapproccio dichiarativo e il linguaggio XAML

middot llsquouso di pattern architetturali nello sviluppo di applicazioni desktop con il Model-View-View Model (M-V-VM)

middot perchegrave egrave ora di passare a WPF visto che abbiamo anche Silverlight per lo sviluppo di Rich Internet Applications (ora alla versione 4) e (supernovitagrave) lo sviluppo di applicazioni per il prossimo Windows Phone 7

Levento si svolgeragrave al Consorzio Universitario di Pordenone sito in via Prasecco 3a sala L2 (piano interrato) edificio B

30 April 2010 - slide 6MOSE ndash University of Trieste

Call for abstract

30 April 2010 - slide 7MOSE ndash University of Trieste

Call for AbstractsldquoAdvancing Research with Cloud Computingrdquo

Cloud computing is fast becoming the most important platform for research Researchers today need vast computing resources to collect share manipulate and explore massive data sets as well as to build and deploy new services for research Cloud computing has the potential to advance research

discoveries by making data and computing resources readily availableat unprecedented economy of scale and nearly infinite scalability To realize the full promise of cloud computing for research however one must think about the cloud as a holistic platform for creating new services new experiences and new methods to pursue research teaching and scholarly communication This goal presents a broad range of interesting questions

We invited extended abstracts that illustrate the role of cloud computing across a variety of research and curriculum development areasmdashincluding computer science earth sciences healthcare humanities life sciences and social sciencesmdashthat highlight how new techniques and methods of research in the cloud may solve distinct challenges arising in those diverse areas

Source httpresearchmicrosoftcomen-useventscloudfutures2010

30 April 2010 - slide 8MOSE ndash University of Trieste

Microsoft Research

30 April 2010 - slide 9MOSE ndash University of Trieste

The University of Washington

eScience Institute

Ed LazowskaBill amp Melinda Gates Chair in

Computer Science amp EngineeringUniversity of Washington

DirectorUniversity of Washington

eScience Institute

httplazowskacswashingtoneducloud2010pdf

30 April 2010 - slide 10MOSE ndash University of Trieste

Dan Reed

30 April 2010 - slide 11MOSE ndash University of Trieste

Massive volumes of data from sensors and networks of sensors

30 April 2010 - slide 12MOSE ndash University of Trieste

Apache Point telescopeSDSS

80TB of raw image data

(80000000000000 bytes)

over a 7 year period

30 April 2010 - slide 13MOSE ndash University of Trieste

Large Hadron Collider

700MB of data

per second

60TBday 20PByear

30 April 2010 - slide 14MOSE ndash University of Trieste

Illumina

HiSeq 2000

Sequencer

~1TBday

Major labs

have 25-100

of these

machines

30 April 2010 - slide 15MOSE ndash University of Trieste

Regional Scale

Nodes of the NSF

Ocean ObservatoriesInitiative

1000 km of fiber

optic cable on the

seafloor connectingthousands of

chemical physicaland biological

sensors

30 April 2010 - slide 16MOSE ndash University of Trieste

The Web

20+ billion web pagesx 20KB = 400+TB

One computer can

read 30-35 MBsec

from disk =gt 4 monthsjust to read the web

30 April 2010 - slide 17MOSE ndash University of Trieste

eScience Sensor-driven (data-driven)science and engineering

Transforming science (again)

Jim Gray

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 4: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 4MOSE ndash University of Trieste

1nn0va

Lassociazione non ha scopo di lucro egrave apartitica apolitica e ha finalitagrave esclusivamente scientificaSi prefigge la diffusione delle tecnologie emergenti e attuali attraverso lorganizzazione di conferenze la redazione a la diffusione di pubblicazioni lapplicazione pratica in progetti non a fini di lucro di innovative tecniche e metodologie di sviluppo informatico il coordinamento con altre Associazioni gruppi o Enti

Divulgazione sul territorio (pordenonese)

30 April 2010 - slide 5MOSE ndash University of Trieste

Primo 1nn0valab 28 maggio 2010ECCEZIONALE EVENTO WPF DI 1NN0VA NASCE 1nn0vaLAB

Niente slide o lunghi monologhi potrete toccare con mano digitare direttamente il codice mostrato da Marco su un PC messo eccezzionalmente a vostra completa disposizione per questo evento

Dalla versione 30 del framework NET rilasciata nel novembre del 2006 abbiamo a disposizione una nuova libreria per sviluppare applicazioni desktop Windows Presentation Foundation A quattro anni dal rilascio e in concomitanza del rilascio del framework NET 40 egrave ora di fare il salto Capiremo

middot quali sono i nuovi presupposti e quindi le differenze dal vecchio modello GDI delle Windows Forms

middot il nuovo sistema di layout

middot la nuova relazione tra designer e developer con llsquoapproccio dichiarativo e il linguaggio XAML

middot llsquouso di pattern architetturali nello sviluppo di applicazioni desktop con il Model-View-View Model (M-V-VM)

middot perchegrave egrave ora di passare a WPF visto che abbiamo anche Silverlight per lo sviluppo di Rich Internet Applications (ora alla versione 4) e (supernovitagrave) lo sviluppo di applicazioni per il prossimo Windows Phone 7

Levento si svolgeragrave al Consorzio Universitario di Pordenone sito in via Prasecco 3a sala L2 (piano interrato) edificio B

30 April 2010 - slide 6MOSE ndash University of Trieste

Call for abstract

30 April 2010 - slide 7MOSE ndash University of Trieste

Call for AbstractsldquoAdvancing Research with Cloud Computingrdquo

Cloud computing is fast becoming the most important platform for research Researchers today need vast computing resources to collect share manipulate and explore massive data sets as well as to build and deploy new services for research Cloud computing has the potential to advance research

discoveries by making data and computing resources readily availableat unprecedented economy of scale and nearly infinite scalability To realize the full promise of cloud computing for research however one must think about the cloud as a holistic platform for creating new services new experiences and new methods to pursue research teaching and scholarly communication This goal presents a broad range of interesting questions

We invited extended abstracts that illustrate the role of cloud computing across a variety of research and curriculum development areasmdashincluding computer science earth sciences healthcare humanities life sciences and social sciencesmdashthat highlight how new techniques and methods of research in the cloud may solve distinct challenges arising in those diverse areas

Source httpresearchmicrosoftcomen-useventscloudfutures2010

30 April 2010 - slide 8MOSE ndash University of Trieste

Microsoft Research

30 April 2010 - slide 9MOSE ndash University of Trieste

The University of Washington

eScience Institute

Ed LazowskaBill amp Melinda Gates Chair in

Computer Science amp EngineeringUniversity of Washington

DirectorUniversity of Washington

eScience Institute

httplazowskacswashingtoneducloud2010pdf

30 April 2010 - slide 10MOSE ndash University of Trieste

Dan Reed

30 April 2010 - slide 11MOSE ndash University of Trieste

Massive volumes of data from sensors and networks of sensors

30 April 2010 - slide 12MOSE ndash University of Trieste

Apache Point telescopeSDSS

80TB of raw image data

(80000000000000 bytes)

over a 7 year period

30 April 2010 - slide 13MOSE ndash University of Trieste

Large Hadron Collider

700MB of data

per second

60TBday 20PByear

30 April 2010 - slide 14MOSE ndash University of Trieste

Illumina

HiSeq 2000

Sequencer

~1TBday

Major labs

have 25-100

of these

machines

30 April 2010 - slide 15MOSE ndash University of Trieste

Regional Scale

Nodes of the NSF

Ocean ObservatoriesInitiative

1000 km of fiber

optic cable on the

seafloor connectingthousands of

chemical physicaland biological

sensors

30 April 2010 - slide 16MOSE ndash University of Trieste

The Web

20+ billion web pagesx 20KB = 400+TB

One computer can

read 30-35 MBsec

from disk =gt 4 monthsjust to read the web

30 April 2010 - slide 17MOSE ndash University of Trieste

eScience Sensor-driven (data-driven)science and engineering

Transforming science (again)

Jim Gray

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 5: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 5MOSE ndash University of Trieste

Primo 1nn0valab 28 maggio 2010ECCEZIONALE EVENTO WPF DI 1NN0VA NASCE 1nn0vaLAB

Niente slide o lunghi monologhi potrete toccare con mano digitare direttamente il codice mostrato da Marco su un PC messo eccezzionalmente a vostra completa disposizione per questo evento

Dalla versione 30 del framework NET rilasciata nel novembre del 2006 abbiamo a disposizione una nuova libreria per sviluppare applicazioni desktop Windows Presentation Foundation A quattro anni dal rilascio e in concomitanza del rilascio del framework NET 40 egrave ora di fare il salto Capiremo

middot quali sono i nuovi presupposti e quindi le differenze dal vecchio modello GDI delle Windows Forms

middot il nuovo sistema di layout

middot la nuova relazione tra designer e developer con llsquoapproccio dichiarativo e il linguaggio XAML

middot llsquouso di pattern architetturali nello sviluppo di applicazioni desktop con il Model-View-View Model (M-V-VM)

middot perchegrave egrave ora di passare a WPF visto che abbiamo anche Silverlight per lo sviluppo di Rich Internet Applications (ora alla versione 4) e (supernovitagrave) lo sviluppo di applicazioni per il prossimo Windows Phone 7

Levento si svolgeragrave al Consorzio Universitario di Pordenone sito in via Prasecco 3a sala L2 (piano interrato) edificio B

30 April 2010 - slide 6MOSE ndash University of Trieste

Call for abstract

30 April 2010 - slide 7MOSE ndash University of Trieste

Call for AbstractsldquoAdvancing Research with Cloud Computingrdquo

Cloud computing is fast becoming the most important platform for research Researchers today need vast computing resources to collect share manipulate and explore massive data sets as well as to build and deploy new services for research Cloud computing has the potential to advance research

discoveries by making data and computing resources readily availableat unprecedented economy of scale and nearly infinite scalability To realize the full promise of cloud computing for research however one must think about the cloud as a holistic platform for creating new services new experiences and new methods to pursue research teaching and scholarly communication This goal presents a broad range of interesting questions

We invited extended abstracts that illustrate the role of cloud computing across a variety of research and curriculum development areasmdashincluding computer science earth sciences healthcare humanities life sciences and social sciencesmdashthat highlight how new techniques and methods of research in the cloud may solve distinct challenges arising in those diverse areas

Source httpresearchmicrosoftcomen-useventscloudfutures2010

30 April 2010 - slide 8MOSE ndash University of Trieste

Microsoft Research

30 April 2010 - slide 9MOSE ndash University of Trieste

The University of Washington

eScience Institute

Ed LazowskaBill amp Melinda Gates Chair in

Computer Science amp EngineeringUniversity of Washington

DirectorUniversity of Washington

eScience Institute

httplazowskacswashingtoneducloud2010pdf

30 April 2010 - slide 10MOSE ndash University of Trieste

Dan Reed

30 April 2010 - slide 11MOSE ndash University of Trieste

Massive volumes of data from sensors and networks of sensors

30 April 2010 - slide 12MOSE ndash University of Trieste

Apache Point telescopeSDSS

80TB of raw image data

(80000000000000 bytes)

over a 7 year period

30 April 2010 - slide 13MOSE ndash University of Trieste

Large Hadron Collider

700MB of data

per second

60TBday 20PByear

30 April 2010 - slide 14MOSE ndash University of Trieste

Illumina

HiSeq 2000

Sequencer

~1TBday

Major labs

have 25-100

of these

machines

30 April 2010 - slide 15MOSE ndash University of Trieste

Regional Scale

Nodes of the NSF

Ocean ObservatoriesInitiative

1000 km of fiber

optic cable on the

seafloor connectingthousands of

chemical physicaland biological

sensors

30 April 2010 - slide 16MOSE ndash University of Trieste

The Web

20+ billion web pagesx 20KB = 400+TB

One computer can

read 30-35 MBsec

from disk =gt 4 monthsjust to read the web

30 April 2010 - slide 17MOSE ndash University of Trieste

eScience Sensor-driven (data-driven)science and engineering

Transforming science (again)

Jim Gray

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 6: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 6MOSE ndash University of Trieste

Call for abstract

30 April 2010 - slide 7MOSE ndash University of Trieste

Call for AbstractsldquoAdvancing Research with Cloud Computingrdquo

Cloud computing is fast becoming the most important platform for research Researchers today need vast computing resources to collect share manipulate and explore massive data sets as well as to build and deploy new services for research Cloud computing has the potential to advance research

discoveries by making data and computing resources readily availableat unprecedented economy of scale and nearly infinite scalability To realize the full promise of cloud computing for research however one must think about the cloud as a holistic platform for creating new services new experiences and new methods to pursue research teaching and scholarly communication This goal presents a broad range of interesting questions

We invited extended abstracts that illustrate the role of cloud computing across a variety of research and curriculum development areasmdashincluding computer science earth sciences healthcare humanities life sciences and social sciencesmdashthat highlight how new techniques and methods of research in the cloud may solve distinct challenges arising in those diverse areas

Source httpresearchmicrosoftcomen-useventscloudfutures2010

30 April 2010 - slide 8MOSE ndash University of Trieste

Microsoft Research

30 April 2010 - slide 9MOSE ndash University of Trieste

The University of Washington

eScience Institute

Ed LazowskaBill amp Melinda Gates Chair in

Computer Science amp EngineeringUniversity of Washington

DirectorUniversity of Washington

eScience Institute

httplazowskacswashingtoneducloud2010pdf

30 April 2010 - slide 10MOSE ndash University of Trieste

Dan Reed

30 April 2010 - slide 11MOSE ndash University of Trieste

Massive volumes of data from sensors and networks of sensors

30 April 2010 - slide 12MOSE ndash University of Trieste

Apache Point telescopeSDSS

80TB of raw image data

(80000000000000 bytes)

over a 7 year period

30 April 2010 - slide 13MOSE ndash University of Trieste

Large Hadron Collider

700MB of data

per second

60TBday 20PByear

30 April 2010 - slide 14MOSE ndash University of Trieste

Illumina

HiSeq 2000

Sequencer

~1TBday

Major labs

have 25-100

of these

machines

30 April 2010 - slide 15MOSE ndash University of Trieste

Regional Scale

Nodes of the NSF

Ocean ObservatoriesInitiative

1000 km of fiber

optic cable on the

seafloor connectingthousands of

chemical physicaland biological

sensors

30 April 2010 - slide 16MOSE ndash University of Trieste

The Web

20+ billion web pagesx 20KB = 400+TB

One computer can

read 30-35 MBsec

from disk =gt 4 monthsjust to read the web

30 April 2010 - slide 17MOSE ndash University of Trieste

eScience Sensor-driven (data-driven)science and engineering

Transforming science (again)

Jim Gray

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 7: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 7MOSE ndash University of Trieste

Call for AbstractsldquoAdvancing Research with Cloud Computingrdquo

Cloud computing is fast becoming the most important platform for research Researchers today need vast computing resources to collect share manipulate and explore massive data sets as well as to build and deploy new services for research Cloud computing has the potential to advance research

discoveries by making data and computing resources readily availableat unprecedented economy of scale and nearly infinite scalability To realize the full promise of cloud computing for research however one must think about the cloud as a holistic platform for creating new services new experiences and new methods to pursue research teaching and scholarly communication This goal presents a broad range of interesting questions

We invited extended abstracts that illustrate the role of cloud computing across a variety of research and curriculum development areasmdashincluding computer science earth sciences healthcare humanities life sciences and social sciencesmdashthat highlight how new techniques and methods of research in the cloud may solve distinct challenges arising in those diverse areas

Source httpresearchmicrosoftcomen-useventscloudfutures2010

30 April 2010 - slide 8MOSE ndash University of Trieste

Microsoft Research

30 April 2010 - slide 9MOSE ndash University of Trieste

The University of Washington

eScience Institute

Ed LazowskaBill amp Melinda Gates Chair in

Computer Science amp EngineeringUniversity of Washington

DirectorUniversity of Washington

eScience Institute

httplazowskacswashingtoneducloud2010pdf

30 April 2010 - slide 10MOSE ndash University of Trieste

Dan Reed

30 April 2010 - slide 11MOSE ndash University of Trieste

Massive volumes of data from sensors and networks of sensors

30 April 2010 - slide 12MOSE ndash University of Trieste

Apache Point telescopeSDSS

80TB of raw image data

(80000000000000 bytes)

over a 7 year period

30 April 2010 - slide 13MOSE ndash University of Trieste

Large Hadron Collider

700MB of data

per second

60TBday 20PByear

30 April 2010 - slide 14MOSE ndash University of Trieste

Illumina

HiSeq 2000

Sequencer

~1TBday

Major labs

have 25-100

of these

machines

30 April 2010 - slide 15MOSE ndash University of Trieste

Regional Scale

Nodes of the NSF

Ocean ObservatoriesInitiative

1000 km of fiber

optic cable on the

seafloor connectingthousands of

chemical physicaland biological

sensors

30 April 2010 - slide 16MOSE ndash University of Trieste

The Web

20+ billion web pagesx 20KB = 400+TB

One computer can

read 30-35 MBsec

from disk =gt 4 monthsjust to read the web

30 April 2010 - slide 17MOSE ndash University of Trieste

eScience Sensor-driven (data-driven)science and engineering

Transforming science (again)

Jim Gray

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 8: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 8MOSE ndash University of Trieste

Microsoft Research

30 April 2010 - slide 9MOSE ndash University of Trieste

The University of Washington

eScience Institute

Ed LazowskaBill amp Melinda Gates Chair in

Computer Science amp EngineeringUniversity of Washington

DirectorUniversity of Washington

eScience Institute

httplazowskacswashingtoneducloud2010pdf

30 April 2010 - slide 10MOSE ndash University of Trieste

Dan Reed

30 April 2010 - slide 11MOSE ndash University of Trieste

Massive volumes of data from sensors and networks of sensors

30 April 2010 - slide 12MOSE ndash University of Trieste

Apache Point telescopeSDSS

80TB of raw image data

(80000000000000 bytes)

over a 7 year period

30 April 2010 - slide 13MOSE ndash University of Trieste

Large Hadron Collider

700MB of data

per second

60TBday 20PByear

30 April 2010 - slide 14MOSE ndash University of Trieste

Illumina

HiSeq 2000

Sequencer

~1TBday

Major labs

have 25-100

of these

machines

30 April 2010 - slide 15MOSE ndash University of Trieste

Regional Scale

Nodes of the NSF

Ocean ObservatoriesInitiative

1000 km of fiber

optic cable on the

seafloor connectingthousands of

chemical physicaland biological

sensors

30 April 2010 - slide 16MOSE ndash University of Trieste

The Web

20+ billion web pagesx 20KB = 400+TB

One computer can

read 30-35 MBsec

from disk =gt 4 monthsjust to read the web

30 April 2010 - slide 17MOSE ndash University of Trieste

eScience Sensor-driven (data-driven)science and engineering

Transforming science (again)

Jim Gray

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 9: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 9MOSE ndash University of Trieste

The University of Washington

eScience Institute

Ed LazowskaBill amp Melinda Gates Chair in

Computer Science amp EngineeringUniversity of Washington

DirectorUniversity of Washington

eScience Institute

httplazowskacswashingtoneducloud2010pdf

30 April 2010 - slide 10MOSE ndash University of Trieste

Dan Reed

30 April 2010 - slide 11MOSE ndash University of Trieste

Massive volumes of data from sensors and networks of sensors

30 April 2010 - slide 12MOSE ndash University of Trieste

Apache Point telescopeSDSS

80TB of raw image data

(80000000000000 bytes)

over a 7 year period

30 April 2010 - slide 13MOSE ndash University of Trieste

Large Hadron Collider

700MB of data

per second

60TBday 20PByear

30 April 2010 - slide 14MOSE ndash University of Trieste

Illumina

HiSeq 2000

Sequencer

~1TBday

Major labs

have 25-100

of these

machines

30 April 2010 - slide 15MOSE ndash University of Trieste

Regional Scale

Nodes of the NSF

Ocean ObservatoriesInitiative

1000 km of fiber

optic cable on the

seafloor connectingthousands of

chemical physicaland biological

sensors

30 April 2010 - slide 16MOSE ndash University of Trieste

The Web

20+ billion web pagesx 20KB = 400+TB

One computer can

read 30-35 MBsec

from disk =gt 4 monthsjust to read the web

30 April 2010 - slide 17MOSE ndash University of Trieste

eScience Sensor-driven (data-driven)science and engineering

Transforming science (again)

Jim Gray

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 10: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 10MOSE ndash University of Trieste

Dan Reed

30 April 2010 - slide 11MOSE ndash University of Trieste

Massive volumes of data from sensors and networks of sensors

30 April 2010 - slide 12MOSE ndash University of Trieste

Apache Point telescopeSDSS

80TB of raw image data

(80000000000000 bytes)

over a 7 year period

30 April 2010 - slide 13MOSE ndash University of Trieste

Large Hadron Collider

700MB of data

per second

60TBday 20PByear

30 April 2010 - slide 14MOSE ndash University of Trieste

Illumina

HiSeq 2000

Sequencer

~1TBday

Major labs

have 25-100

of these

machines

30 April 2010 - slide 15MOSE ndash University of Trieste

Regional Scale

Nodes of the NSF

Ocean ObservatoriesInitiative

1000 km of fiber

optic cable on the

seafloor connectingthousands of

chemical physicaland biological

sensors

30 April 2010 - slide 16MOSE ndash University of Trieste

The Web

20+ billion web pagesx 20KB = 400+TB

One computer can

read 30-35 MBsec

from disk =gt 4 monthsjust to read the web

30 April 2010 - slide 17MOSE ndash University of Trieste

eScience Sensor-driven (data-driven)science and engineering

Transforming science (again)

Jim Gray

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 11: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 11MOSE ndash University of Trieste

Massive volumes of data from sensors and networks of sensors

30 April 2010 - slide 12MOSE ndash University of Trieste

Apache Point telescopeSDSS

80TB of raw image data

(80000000000000 bytes)

over a 7 year period

30 April 2010 - slide 13MOSE ndash University of Trieste

Large Hadron Collider

700MB of data

per second

60TBday 20PByear

30 April 2010 - slide 14MOSE ndash University of Trieste

Illumina

HiSeq 2000

Sequencer

~1TBday

Major labs

have 25-100

of these

machines

30 April 2010 - slide 15MOSE ndash University of Trieste

Regional Scale

Nodes of the NSF

Ocean ObservatoriesInitiative

1000 km of fiber

optic cable on the

seafloor connectingthousands of

chemical physicaland biological

sensors

30 April 2010 - slide 16MOSE ndash University of Trieste

The Web

20+ billion web pagesx 20KB = 400+TB

One computer can

read 30-35 MBsec

from disk =gt 4 monthsjust to read the web

30 April 2010 - slide 17MOSE ndash University of Trieste

eScience Sensor-driven (data-driven)science and engineering

Transforming science (again)

Jim Gray

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 12: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 12MOSE ndash University of Trieste

Apache Point telescopeSDSS

80TB of raw image data

(80000000000000 bytes)

over a 7 year period

30 April 2010 - slide 13MOSE ndash University of Trieste

Large Hadron Collider

700MB of data

per second

60TBday 20PByear

30 April 2010 - slide 14MOSE ndash University of Trieste

Illumina

HiSeq 2000

Sequencer

~1TBday

Major labs

have 25-100

of these

machines

30 April 2010 - slide 15MOSE ndash University of Trieste

Regional Scale

Nodes of the NSF

Ocean ObservatoriesInitiative

1000 km of fiber

optic cable on the

seafloor connectingthousands of

chemical physicaland biological

sensors

30 April 2010 - slide 16MOSE ndash University of Trieste

The Web

20+ billion web pagesx 20KB = 400+TB

One computer can

read 30-35 MBsec

from disk =gt 4 monthsjust to read the web

30 April 2010 - slide 17MOSE ndash University of Trieste

eScience Sensor-driven (data-driven)science and engineering

Transforming science (again)

Jim Gray

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 13: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 13MOSE ndash University of Trieste

Large Hadron Collider

700MB of data

per second

60TBday 20PByear

30 April 2010 - slide 14MOSE ndash University of Trieste

Illumina

HiSeq 2000

Sequencer

~1TBday

Major labs

have 25-100

of these

machines

30 April 2010 - slide 15MOSE ndash University of Trieste

Regional Scale

Nodes of the NSF

Ocean ObservatoriesInitiative

1000 km of fiber

optic cable on the

seafloor connectingthousands of

chemical physicaland biological

sensors

30 April 2010 - slide 16MOSE ndash University of Trieste

The Web

20+ billion web pagesx 20KB = 400+TB

One computer can

read 30-35 MBsec

from disk =gt 4 monthsjust to read the web

30 April 2010 - slide 17MOSE ndash University of Trieste

eScience Sensor-driven (data-driven)science and engineering

Transforming science (again)

Jim Gray

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 14: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 14MOSE ndash University of Trieste

Illumina

HiSeq 2000

Sequencer

~1TBday

Major labs

have 25-100

of these

machines

30 April 2010 - slide 15MOSE ndash University of Trieste

Regional Scale

Nodes of the NSF

Ocean ObservatoriesInitiative

1000 km of fiber

optic cable on the

seafloor connectingthousands of

chemical physicaland biological

sensors

30 April 2010 - slide 16MOSE ndash University of Trieste

The Web

20+ billion web pagesx 20KB = 400+TB

One computer can

read 30-35 MBsec

from disk =gt 4 monthsjust to read the web

30 April 2010 - slide 17MOSE ndash University of Trieste

eScience Sensor-driven (data-driven)science and engineering

Transforming science (again)

Jim Gray

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 15: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 15MOSE ndash University of Trieste

Regional Scale

Nodes of the NSF

Ocean ObservatoriesInitiative

1000 km of fiber

optic cable on the

seafloor connectingthousands of

chemical physicaland biological

sensors

30 April 2010 - slide 16MOSE ndash University of Trieste

The Web

20+ billion web pagesx 20KB = 400+TB

One computer can

read 30-35 MBsec

from disk =gt 4 monthsjust to read the web

30 April 2010 - slide 17MOSE ndash University of Trieste

eScience Sensor-driven (data-driven)science and engineering

Transforming science (again)

Jim Gray

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 16: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 16MOSE ndash University of Trieste

The Web

20+ billion web pagesx 20KB = 400+TB

One computer can

read 30-35 MBsec

from disk =gt 4 monthsjust to read the web

30 April 2010 - slide 17MOSE ndash University of Trieste

eScience Sensor-driven (data-driven)science and engineering

Transforming science (again)

Jim Gray

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 17: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 17MOSE ndash University of Trieste

eScience Sensor-driven (data-driven)science and engineering

Transforming science (again)

Jim Gray

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 18: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 18MOSE ndash University of Trieste

httpresearchmicrosoftcomen-uscollaborationfourthparadigm

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 19: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 19MOSE ndash University of Trieste

eScience is about the analysis of data

The automated or semi-automated extraction of

knowledge from massive volumes of data

Itrsquos not just a matter of volume

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 20: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 20MOSE ndash University of Trieste

Large Synoptic Survey

Telescope (LSST)

40TBday

(an SDSS every two days)100+PB in its 10-year

lifetime

400mbps sustained datarate between

Chile and NCSA

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 21: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 21MOSE ndash University of Trieste

[Andy Connolly University of Washington and LSST]

NSF Review

December 15-17 2009

Tucson AZ

NSF Review

December 15-17 2009

Tucson AZ

Base Site

Base Center

Co-located

Data Access Center (DAC)

Archive Center

Co-located

Data Access Center (DAC)

LSST Data Management System is widely distributed

Archive Site

Headquarters Site

Systems Operations

Center (SOC)

Education and Public

Outreach Center (EPOC)

bull Sitebull

bull

A physical

locationspace

that hosts DM

centers

Connected via

dedicated

protected fiber

optic circuits

bull Centerbull A DM functional

capability hosted

at a Site

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 22: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 22MOSE ndash University of Trieste

Data management in computational astrophysicsfopen()

fread()fwrite()

fclose()

scpndash Jeff Gardner UW eScience Institute

Each simulation generates a sequence of snapshots

each snapshot is a single flat file analysis is via C or

Fortran programs

But astronomy is substantially ahead of

most other fields

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 23: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 23MOSE ndash University of Trieste

Data management in biology

90 of all business data is maintained in spreadsheets

ndash Enrique Godreau Voyager Capital

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 24: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 24MOSE ndash University of Trieste

Top faculty across all disciplines understand

and fear the coming data tsunami

Survey of 125 top

investigatorsldquoData data datardquo

Flat files and Excel are

the most common data

management toolsGreat for Microsoft hellip

lousy for scienceTypical science workflow

2 years ago 12 dayweek

Now 1 FTEIn 2 years 10 FTE

Need tools tools tools

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 25: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 25MOSE ndash University of Trieste

eScience is married to the Cloud Scalable

computing and storage for everyone

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 26: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 26MOSE ndash University of Trieste

Unused resources

Economics of Cloud Users

bull Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Re

so

urc

es

Demand

Capacity

TimeR

eso

urc

es

26

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 27: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 27MOSE ndash University of Trieste

Cloud Computing Confusion

The interesting thing about cloud computing is that wersquove redefined Cloud Computing to include everything that we already dohellip I donrsquot understand

what we would do differently in the light of Cloud Computing than change some of the words in our ads

Larry Ellison (Oracle CEO) quoted in the Wall Street Journal Sept 26 2008

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 28: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 28MOSE ndash University of Trieste

Cloud Computing Confusion

A lot of people are jumping on the [cloud] bandwagon but I have not heard two people say the same thing about it There are multiple definitions

out there of ldquothe cloudrdquo

Andy Isherwood (HP VP of European Software Sales) in ZDNews Dec 11 2008

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 29: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 29MOSE ndash University of Trieste

Cloud Computing Confusion

Itrsquos stupidity Itrsquos worse than stupidity itrsquos a marketing hype campaign Somebody is saying this is inevitable ndash and whenever you hear somebody saying

that itrsquos very likely to be a set of businesses campaigning to make it true

Richard Stallman (ldquofree softwarerdquo advocate) in The Guardian Sept 29 2008

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 30: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 30MOSE ndash University of Trieste

Dilbert on Cloud Computing

Novembre 18th 2009httpwwwdilbertcomstripscomic2009-11-18

Novembre 19th 2009httpwwwdilbertcomstripscomic2009-11-19

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 31: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 31MOSE ndash University of Trieste

Il Cloudquesto sconosciuto

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 32: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 32MOSE ndash University of Trieste

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 33: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 33MOSE ndash University of Trieste

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 34: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 34MOSE ndash University of Trieste

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 35: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 35MOSE ndash University of Trieste

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 36: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 36MOSE ndash University of Trieste

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 37: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 37MOSE ndash University of Trieste

httpwwwyoutubecomwatchv=PPnoKb9fTkAampfeature=player_embedded

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 38: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 38MOSE ndash University of Trieste

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 39: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 39MOSE ndash University of Trieste

Cloud Computing

A large-scale distributed computing paradigm that is driven by economies of scale in which a pool of abstracted virtualized dynamically-scalable managed computing power storage platforms and services are delivered on demand to external customers over the Internet

[I Foster Y Zhao I Raicu S LuCloud Computing and Grid Computing 360-Degree Compared in Proc IEEE Grid Computing Environments Workshop Austin (Tx) Nov 2008 pp 1-10]

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 40: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 40MOSE ndash University of Trieste

What Is Cloud Computing

Three New Aspects to Cloud Computing

The Illusion of Infinite Computing Resources Available on Demand

The Elimination of an Upfront Commitment by Cloud Users

The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed

Above the Clouds a Berkeley View of Cloud ComputinghttpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Reportrdquo on the UC Berkeley Paper ldquoAbove the Clouds a Berkeley View of Cloud Computingrdquo

httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 41: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 41MOSE ndash University of Trieste

Application runs

on-premises

Buy my own hardware and

manage my own data center

Application runs at a hoster

Pay someone to host my

application using hardware

that I specify

Application runs using

cloud platform

Pay someone for a pool of

computing resources that can

be applied to a set of

applications

Application runs

on-premises

bull Bring my own

machines

connectivity

software etc

bull Complete control

and responsibility

bull Upfront capital

costs for the

infrastructure

Application runs at a hoster

bull Rent machines

connectivity

software

bull Less control but

fewer

responsibilities

bull Lower capital costs

but pay for fixed

capacity even if idle

Application runs using

cloud platform

bull Shared

multi-tenant

environment

bull Offers pool of

computing

resources

abstracted from

infrastructure

bull Pay as you go

Evolution to Cloud Computing(from another presentation)

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 42: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 42MOSE ndash University of Trieste

New Application Opportunities

Some Interesting New Types of Applications Enable By the Cloud

Mobile Interactive Apps Applications that respond in real time but work with lots of data Cloud computing offers highly-available large datasets

Parallel Batch Processing ldquoCost Associativityrdquo ndash Many systems for a short time Washington Post used 200EC2 instances to process 17481 pages of Hillary Clintonrsquos travel documents within 9 hours of their release

Rise of Analytics Again ldquoCost Associativityrdquo ndash Many systems for a short time Compute intensive data analysis which may be parallelized

Compute Intensive Desktop Apps For example symbolic mathematics requires lots of computing per unit of data Cost efficient to push the data to the cloud for computation

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 43: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 43MOSE ndash University of Trieste

Conclusions and Questions about the Cloud of Tomorrow

Utility Computing Itlsquos Happening

Grow and Shrink on Demand

Pay-As-You-Go

Cloud Providerlsquos View

Huge Datacenters Opened Economies and Possibilities

Cloud Userlsquos View

Startups Donlsquot Need Datacenters

Established Organizations Leverage Elasticity

UC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines

Cloud Computing High-Margin or Low-Margin Business

Potential Cost Factor of 5-7X

Todaylsquos Cloud Providers Had Big Datacenter Infrastructure Anyway

Implications of Cloud Application Software Scale-Up and Down Rapidly Client and Cloud

Infrastructure Software Runs on VMs Has Built-in Billing

Hardware Systems Huge Scale Container-Based Energy Proportional

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 44: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 44MOSE ndash University of Trieste

Top 10 Obstacles and Opportunities

Obstacle Opportunity1 Availability of Service Use Multiple Cloud Providers

Use Elasticity to Prevent DDOS

2 Data Lock-In Standardized APIs Compatible Software to Enable Surge Computing

3 Data Confidentiality and Auditability Deploy Encryption VLANs FirewallsGeographical Data Storage

4 Data Transfer Bottlenecks FedExing Disks Data BackupArchival Higher Bandwidth Switches

5 Performance Unpredictability Improved VM Support Flash Memory Gang Scheduling VMs

6 Scalable Storage Invent Scalable Store

7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs

8 Scaling quickly Auto-Scaler Snaphots for Conservation

9 Reputation Fate Sharing Reputation Guarding Services

10 Software Licensing Pay-for-Use Licenses Bulk Use Sales

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 45: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 45MOSE ndash University of Trieste

3 Obstacle Data Confidentiality and Auditability

ldquoMy sensitive corporate data will never be in the cloudrdquoCurrent Clouds Are Essentially Public

Networks

They Are Exposed to More Attacks

Auditability Is Required

Sarbanes-Oxley

HIPAA

Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted Storage Network Middleboxes (Firewalls Packet Filters)Virtual LANs

Encrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises

Maybe Cloud Provided Auditability

Maybe More Tamper Resistant

Auditing Below VMs

More Focus on Virtual

Capabilitieshellip

Concerns over National Boundaries

Blind Subpoenas

Foreign Subpoenas

USA PATRIOT Act Gives Some Europeans

Worries over SaaS in the USA

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 46: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 46MOSE ndash University of Trieste

4 Obstacle Data Transfer Bottlenecks

Opportunity-1 Sneaker-Net

Jim Gray Found Cheapest Transfer Was FedEx-ing Disks

1 Data Failure in 400 Attempts

Opportunity-2 Keep Data in Cloud

If the Data Is in the Cloud Transfer Doesnlsquot Cost

Amazon Hosting Large Data

Eg US Census

Free on S3 Free on EC2

Entice EC2 Business

Opportunity-3 Cheaper WAN

High-End Routers Are a Big Part of the Cost of Data Transfer

Research into Routing using Cheap Commodity Computers

Problem At $100 to $150 per Terabyte Transferred Data Placement and Movement Is an Issue

Example Ship 10TB from UC Berkeley to Amazon

-- WAN S3 lt 20Mbitssec

10TB 4Mil Seconds gt 45 Days

$1000 in AMZN Net Fees

-- FedEx Ten 1TB Disks via Overnight Shipping

lt 1 Day to Write 10TB to Disks Locally

Cost asymp $400

Effective BW of 1500MbitsSec

ldquoNetFlix for Cloud Computingrdquo

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 47: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 47MOSE ndash University of Trieste

To better understand read the originals

Above the Clouds a Berkeley View of Cloud Computing httpwwweecsberkeleyeduPubsTechRpts2009EECS-2009-28pdfCloud Computing

Book Report on the UC Berkeley Paper ―Above the Clouds a Berkeley View of Cloud Computing httpblogsmsdncompathellandarchive20090410book-report-on-the-uc-berkeley-

paper-above-the-clouds-a-berkeley-view-of-cloud-computingaspx

httpcid-84f3c5ef51d06e8bskydrivelivecomselfaspxPublic2009Above-the-Clouds-090401kpptx

Demystifying the Cloud (Simon Guest) httpsimonguestcomblogssmguestarchive20090514Slides-from-TechEd-2009aspx

An introduction to Cloud Computing https3amazonawscomppt-downloadima-cloud-computing-mar2010-v8-100320181538-

phpapp02pdfSignature=GhK3ogCr2Z2FzhWFa2F2BJUr1cT1eg3DampExpires=1269958049ampAWSAccessKeyId=AKIAJLJT267DEGKZDHEQ

hellipand many others

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 48: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 48MOSE ndash University of Trieste

A Spectrum of Application Models

Microsoft AzureNET CLRWindows Only

Choice of Language

Some Auto Failover Scale (but needs declarative application

properties)

Google App Engine

Traditional Web Apps

Auto ScalingProvisioning

ForceCom

SalesForce Biz Apps

Auto ScalingProvisioning

Amazon AWSVMs Look Like Hardware

No Limit on App Model

User Must Implement Scalability and Failover

Constraints in the App Model More ConstrainedLess Constrained

Automated Management Services More AutomationLess Automation

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 49: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 49MOSE ndash University of Trieste

Spectrum of CloudsInstruction Set VM (Amazon EC2 3Tera)

Bytecode VM (Microsoft Azure)

Framework VM

Google AppEngine Forcecom

EC2 Azure AppEngine Forcecom

Lower-level

Less management

Higher-level

More management

49

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 50: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 50MOSE ndash University of Trieste

A Spectrum of Application Models

Which Model Will Dominate

Analogy Programming Languages and Frameworks

bull Low-Level Languages (CC++) Allow Fine-Grained Control

bull Building a Web App in C++ Is a Lot of Cumbersome Work

bull Ruby-on-Rails Hides the Mechanics but Only If You FollowRequestResponse and Rubyrsquos Abstractions

High-Level Languages and Frameworks Can Be Built on Lower-

Level

More-Constrained Clouds May Be Built on Less-Constrained Ones

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 51: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 51MOSE ndash University of Trieste

Resource allocation Machines must be chosen to host roles of the service

Fault domains update domains resource utilization hosting environment etc

Procure additional hardware if necessary IP addresses must be acquired

Provisioning Machines must be setup Virtual machines created Applications configured DNS setup Load balancers must be programmed

Upgrades Locate appropriate machines Update the softwaresettings as necessary Only bring down a subset of the service at a time

Maintaining service health Software faults must be handled Hardware failures will occur Logging infrastructure is provided to diagnose issues

This is ongoing workhellipyoulsquore never done

Deploying A Service Manually

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 52: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 52MOSE ndash University of Trieste

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding amp Modeling

bullNew services and updates

Provisioning

bullDesired configuration

Deployment

bullMapping and deploying to actual hardware

bullNetwork configuration

Maintain goal state

bullMonitor

bullReact to events

AutomatedAutomatedDeveloper Developer

Deployer

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 53: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 53MOSE ndash University of Trieste

ARCHITECTURE OF A CLOUD

STORAGECOMPUTE

FABRIC

ApplicationApplicationApplication Data

ENVIRONMENT

INTERNET

users

developers

Infrastructure

Platform

Application

s

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 54: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 54MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Marco ParenzanbullTenure - Web Service ProgrammingComputer Engineering ndash University of Trieste

bullResearcherMethodologies and ToolsMOSE Laboratory ndash University of Trieste

Maurizio FermegliabullFull Professor Chemical EngineeringMOSE Laboratory ndash University of Trieste

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 55: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 55MOSE ndash University of Trieste

Vision

Multi ndash Scale Molecular Modeling will revolution the world of research and industrial production in the next years by strongly accelerating the development of new products

Mission Material Sciences thermo physical properties for materials polymer

technology and nanosciencenanotechnology

Life Sciences drug-receptor interactions drug-design QSAR drug-deliveryhellip

Process simulation process synthesis design modeling for chemical biochemical energy production

MOSE Molecular Simulation Engineering

COL1S01

S14

S02

S03

H1

S04

F1

S05

S06

H2

S07Q1

COL2

S08

S09

T1

S11

S10

H3

S12

P1S13Z

M1

MAKUPA

MAKUPB

S13

H4

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 56: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 56MOSE ndash University of Trieste

MeccanicaQuantistica(elettroni)

Meccanicamolecolare(atomi)

Simulazione di processo

FEM

Engineering design

1Aring

Characteristic Length

1nm 1μm 1mm 1m

years

seconds

nanoseconds

picoseconds

femtoseconds

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Mesoscale modeling

(segments)

Process Simulation

FEM

Engineering design

1Aring

Characteristic Time

1nm 1μm 1mm 1m

hours

minutes

microseconds

Multiscale Molecular Modeling

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 57: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 57MOSE ndash University of Trieste

Engineering design

MeccanicaQuantistica(elettroni)

QuantumMechanics(electrons)

MolecularMechanics(atoms)

Message Passing Multiscale Molecular Modeling

Mesoscalemodeling

(segments)

Process Simulation

FEM

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 58: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 58MOSE ndash University of Trieste

QuantumMechanics(electrons)

Meccanicamolecolare(atomi)

Cloud-based Message Passing forMultiscale Molecular Modeling

Engineering design

Engineering design

Mesoscalemodeling

(segments)

Simulazione di processo

FEM

Process Simulation

FEM

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 59: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 59MOSE ndash University of Trieste

AbstractThis paper deals with availability of cloud computing to computational research labs We will focus to the concept of availability This concept may have two different interpretations namely

―Available as an accessible resource always from everywhere

―Available as the ability to consume a service (as a client or as the publisher)

AvailableAccessible

This paper will focus on the second interpretation a cloud service is ―available if it is easy for anyone in the academic community (and not) to consume the cloud Indeed cloud allows sharing ―knowledge in form of

components or data to be ―executed in the cloud The challenge here is to make possible for researchers not necessarily expert in programming and computer science to make available herhis knowledge in form of components and data tables

The solution we propose is based on Domain Specific Languages (DSL) by which a researcher will express the components in herhis specific language that will be user-friendly since it is directly related to the particular research field In this framework cloud components will be expressed in terms of a generic mathematical model rather than a software component This vision is quite common in computing thanks to the availability of many tools that simplify the development of DSL such as dynamic languages like IronRuby or revolutionary data access with SQL Server Modeling

The objective of this work is to present a model of a general ―Domain Specific Cloud Component (DSCC) that can be expressed published and consumed by the research community using tools that allow an easy and direct implementation for the mathematical algorithms developed by the scientists The general concept will be applied to specific examples by developing frameworks customized to share a specific ―DSCC

Examples will be taken in the area of multiscale molecular modeling for the design of nanostructured polymer systems (nanotechnology) and the estimation of the environmental impact of a production process (sustainability)

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 60: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 60MOSE ndash University of Trieste

MOSE in the cloudhellip

hellipno Why

Because it heavily depends on software (molecular simulation process simulation) that are not on the Cloud

Can MOSE access ―alone the Cloud No at the moment

The actors

Chemists Chemical Engineers Materials Engineers Biologists Medical Doctors hellip

Just ―Computer Science classes in the first two years of Engineering Curriculum (some CC++ no VB(A) or NET some Matlab)

But they need programs to solve their problemshellip

hellipand sometimes they try to write them

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 61: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 61MOSE ndash University of Trieste

Objectives of this Research

Move MOSE to the Cloud

Cannot wait software companies

Computer engineers can ―simplify write these codes

But she needs speaking with (non-computer) engineers about the details (Analysis Specifications ―DOMAIN)

Why donlsquot we enable (non-computer) scientists writing their own code

Simplifying (programming) tools to consume the Cloud

Allow DOMAIN Engineers participating actively building the platform

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 62: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 62MOSE ndash University of Trieste

Simplification development path

We are still C++lsquo (some apps need C++ plug incustom code)

We already stepped into CLR world Example our development in CAPE-OPEN (httpco-lanorg)

The next step are Dynamic Languages such as Python or Ruby

DSLs world for data (custom data texts)

Again another example in CAPE-OPEN

Native VM Dynamic DSL

CC++ CJava PythonRubyInternalExternal

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 63: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 63MOSE ndash University of Trieste

Traditional App Architecture n-Tier apps

Presentation

Business Logic (BLL)

Data Access (DAL) Infr

astr

uctu

re

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 64: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 64MOSE ndash University of Trieste

Onion ArchitectureDomain Driver Design

User Interface

GFile

system

Services

etc

Application Services

M

Domain Services

Domain Model

Database

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 65: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 65MOSE ndash University of Trieste

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 66: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 66MOSE ndash University of Trieste

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 67: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 67MOSE ndash University of Trieste

Objects ---gt Vocabulary

Grammar ---gt Language

Domain Driven

Design

DSL

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 68: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 68MOSE ndash University of Trieste

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 69: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 69MOSE ndash University of Trieste

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 70: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 70MOSE ndash University of Trieste

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 71: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 71MOSE ndash University of Trieste

Marco Parenzan Maurizio Fermeglia

MOSE Lab ndash University of Trieste

VISUAL UNIT PROGRAMMING WITH CAPEOPENSTUDIONET

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 72: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 73MOSE ndash University of Trieste

CAPE-OPEN Toolkit Wizard

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 73: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 74MOSE ndash University of Trieste

Exploring the model

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 74: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 75MOSE ndash University of Trieste

Language our tool

Il linguaggio di programmazione egrave il nostro strumento (―la nostra cassetta degli attrezzi)

Ma la metafora (meccanica) si ferma qui

Una chiave inglese egrave immutabile

I nostri linguaggi no

Non siamo piugrave nel XX secolo in cui VB6 C C++ Pascal Perl Java Javascript erano a lungo stabilihellip

Stiamo vivendo un momento particolarmente fertilehellip

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 75: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 76MOSE ndash University of Trieste

A Language Renaissance

Diversi paradigmi di programmazione

Imperativo

Object Oriented

Funzionale

Dichiarativo

Visual Studio 2010 esce con un nuovo linguaggio ufficiale (F)

Tipizzazione

Statica (compile type)

Dinamica (runtime)

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 76: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 77MOSE ndash University of Trieste

Why should we care then

More languages more options

DLR gives apps instant scripting abilities

C has moved in that direction too LINQ

Lambda expressions

Parallel extensions (C 40)

dynamiclsquo (C 40) and varlsquo keywords

C 10

C 20

C 30

Managed Code

Generics

Language Integrated Query

C 40Dynamic Programming

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 77: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 78MOSE ndash University of Trieste

Using internal DSL

(aka Fluent Interface)

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 78: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 79MOSE ndash University of Trieste

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 79: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 80MOSE ndash University of Trieste

Easy to do no parsers etc

Full IDE support

Good

Bad

Limited by host language

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 80: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 81MOSE ndash University of Trieste

Using external DSL

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 81: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 82MOSE ndash University of Trieste

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 82: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 83MOSE ndash University of Trieste

Unlimited expressiveness

You choose execution

environment

Good

BadRequires ldquomorerdquo work

No IDE support

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 83: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 84MOSE ndash University of Trieste

Don Box

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 84: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 85MOSE ndash University of Trieste

Don Box Career

DevelopMentor years (90ties)

Worldwide COM expert (Essential COM)

Millenium Work (90ties thru 21deg century)

SOAP Specifications

XML musings (Essential XML)

XML Schema

XML Infoset

NET Expert (Essential NET)

TechEd 2001 Barcelona

Musings having a bath in a tube on stage

Microsoft years (since 2002)

Indigo Architect (Windows Communication Foundation ndash 2deg generation Web Services - NET 30)

Oslo (now SQL Server Modeling)

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 85: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 86MOSE ndash University of Trieste

Il linguaggio ldquoMrdquo

86

DSL

M

Domain-specific grammars

Abstract data model

Domain-specific data models

language GPSLanguage

syntax Main = hInteger ( vInteger)

=gt Point X h Y v

type Point

X Integer where X lt 100

Y Integer

Point X 100 Y 200

Pointm

Domain ModelDSLY

DomainYmgDomain Grammar

DSLXDomainXm

Domain Model

DomainYm

Domain Model

DomainXmgDomain Grammar

GPSLanguagemgDomain Grammar

MSchema

MGrammar

MGraph

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 86: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 87MOSE ndash University of Trieste

Da M al RepositoryDa ldquoOslordquo a ldquoSQL Server Modelingrdquo

MexeDomain Model

Compiler

MXexeDomain Model

Loader

ModelAm

ModelBm

ModelCm ModelABCmx

SQLServer

M Framework

M Framework

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 87: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 88MOSE ndash University of Trieste

IntelliPad

Chiamato inizialmente EMACSNET

Editor testuale non ha funzioni visuali

Buffer interni interagiscono con runtime

Parsing in tempo reale

Generazione risultati in finestre side-by-side

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 88: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 89MOSE ndash University of Trieste

MGrammar in Intellipad

Input Grammar Output

Errors

Transform

Text MGraph

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 89: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 90MOSE ndash University of Trieste

Douglas Purdy

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 90: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 91MOSE ndash University of Trieste

ANTLR 3

graphical grammar editor and debugger

written by Jean Bovet using Swing

Used to implement

ldquorealrdquo programming languagesdomain-specific languages (DSLs)

httpwwwantlrorg

download ANTLR and ANTLRWorks here

both are free and open source

ANTLR Overview

ANother Tool for Language Recognition

written by Terence Parr in Java

Easier to use than mostall similar tools

Supported by ANTLRWorks

docs articles wiki mailing list examples

3

Ter

Irsquom a

professor at the

University of San

Francisco

Jean

I worked with

Ter as a masters

student there

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 91: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 92MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Uses EBNF grammars

Extended Backus-Naur Form

can directly express optional and repeated elements

supports subrules (parenthesized groups of elements)

Supports many target languages

for generated code

Java Ruby Python Objective-C C C++ and C

Provides infinite lookahead

most parser generators donrsquot

used to choose between rule alternatives

Plug-ins available for

IDEA and Eclipse4

BNF grammars require more

verbose syntax to express these

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 92: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 93MOSE ndash University of Trieste

ANTLR 3

ANTLR Overview

Supports LL()

LL(k) parsers are top-down parsers that

parse from Left to right

construct a Leftmost derivation of the input

look ahead k tokens

LR(k) parsers are bottom-up parsers thatparse from Left to right

construct a Rightmost derivation of the input

look ahead k tokens

LL parsers canrsquot handle left-recursive rules

most people find LL grammars easier to understand than LR

Supports predicates

aid in resolving ambiguities (non-syntactic rules)

5

Wikipedia has

good descriptions

of LL and LR

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 93: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 94MOSE ndash University of Trieste

ANTLR 3

ANTLRWorks

A graphical grammar editor and debugger

Features

highlights grammar syntax errors

checks for grammar errors beyond the syntax variety

such as conflicting rule alternatives

displays a syntax diagram for the selected rule

debugger can step through creation of parse trees and ASTs

38

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 94: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 95MOSE ndash University of Trieste

ANTLR 339

ANTLRWorks

parser rule

syntax diagram

lexer rule

syntax diagram

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 95: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 96MOSE ndash University of Trieste

ANTLR 340

ANTLRWorks

grammar check

result

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 96: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 97MOSE ndash University of Trieste

ActiProSoftware

Free add-ons are included that integrate domain-specific language (DSL) parsers created using Microsoft Oslos MGrammar and ANTLR with SyntaxEditor

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 97: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 98MOSE ndash University of Trieste

Le peculiaritagrave di un Dynamic Language

Semplice e stringato

Egrave una scelta tipica di chi ha sviluppato questi linguaggi

Sintassi leggera

Molte funzioni lasciate in API in linguaggi statici sono implementate nel linguaggio

Interpretato

Egrave la diretta conseguenza della semplicitagrave evitando la ―complicazione di un processo di compilazione

Implicitamente tipizzato

Il tipo egrave associato ai valori non alle variabili

Non permettono di verificare e notificare gli errori di tipo se non quando vanno in esecuzione

98

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 98: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 99MOSE ndash University of Trieste

Cosrsquoegrave Python

Un linguaggio di programmazione general purpose

Sviluppato da Guido van Rossum nel 1991

Un linguaggio dinamico usato spesso come linguaggio di scripting

Supporta diversi paradigmi di programmazione

Object Oriented

Imperative

Functional

Egrave stato creato con questi obiettivi in mente

Leggibilitagrave del codice

Sintassi minimalista

Un esteso set di librerie

Duck Typing

99

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 99: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 100MOSE ndash University of Trieste

Cosrsquoegrave IronPythonEgrave una implementazione del linguaggio Python su piattaforma NET IronPython egrave scritto interamente in C

Creato da Jim Hugunin sviluppatore anche di Jython (Python su JVM)

Voleva scrivere un paper dal titolo ―Why NET is a Terrible Platform for Dynamic Languages

―It was a little less than a year ago that I first started investigating the Common Language Runtime (CLR) My plan was to do a little work and then write a short pithy article called Why NET is a terrible platform for dynamic languages httpwwwironpythoncomoldhtml

Nel settembre del 2004 iniziava a lavorare in Microsoft

―My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language Since then Ive spent much of my spare time working on the development of IronPython httpwwwironpythoncomoldhtml

httpwwwpythonorgcommunitypycondc2004papers9 httpconferencesoreillynetcompresentationsos2004hugunin_jim_upppt

100

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 100: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 101MOSE ndash University of Trieste

Armando Fox (UC Berkley)

Ha parlato di uso di Python in ambienti Cloud

Parla di PLL (Production Level Languages)

Vs BLL

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 101: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 102MOSE ndash University of Trieste

Python

binder

Rubybinder

COMbinder

JavaScriptbinder

Objectbinder

Dynamic Languages on NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C VBNET Othershellip

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 102: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 103MOSE ndash University of Trieste

GOAL

SCALABLE DURABLE

STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services so worker roles can replicate as needed

Blobs large unstructured data (audio video etc)

Tables simply structured data accessed using ADONET Data Services

Queues serially accessed messages or requests allowing web-roles and worker-roles to interact

Storage in Windows Azure

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 103: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 104MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data (as requested by Ed Lazowska in his yesterday wonderful keynote)

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 104: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 105MOSE ndash University of Trieste

Domain Specific Cloud Components for General Availability in the Research

Demo

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 105: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 106MOSE ndash University of Trieste

The matrix was too simple

This is a two-dimensional matrix of three dimensional vectorsSize of cube is 100 nano meters

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 106: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 107MOSE ndash University of Trieste

The results1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Web Role for background processing

2 Use Dynamic Languages to do the processing1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text1 Oslo (now SQL Server Modeling) gives us a generic

schema language (more general that Xsd) and more ―readable than xml

2 Structured text as data sources

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 107: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 108MOSE ndash University of Trieste

ConclusionsWhy MOSE needs the cloud To build a platform to orchestrate the message passing in Multiscale Molecular Modeling

activity

To empower our research team with a flexible scientific platform that drives efficiency collaboration and innovation

In the demo we have seen The ―creation and the execution (invocation) of the single step of the process

The input and the output are the ―messages that walk through the scale

The code Definition of a library of a generic cloud component

Usage of Dynamic Languages (IronPython)

A new opportunity in NET development

More productive (PLLs as told by Armando Fox yesterday)

More simpler for non programmers

Application of DSLs (Oslo) for the definition of simple inputoutput messages

More confident with scientific people

More simple than a graphical UI to implement

It gaves metadataschema to flat files (as requested by Ed Lazowska in his yesterday wonderful keynote)

Whatlsquos next

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 108: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 109MOSE ndash University of Trieste

What is next

Continue with the project

The definition of a process (an orchestration)

Did you saw the session from Paul Watson yesterday (―Cloud Computing from chemical Property Prediction)

The users in the process

Collaboration in the process

Again as Paul said we agree on a structure like a ―social science community a Web 20 application

Security Confidentiality

Verticalization on the domain

Remove all the nitty-gritty details that lowers the experience

Define custom component Languages

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 109: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 110MOSE ndash University of Trieste

Simplification steps

1 Write apps running on cloud

1 Windows Azure

2 (ASPNET MVC2) Web Role for the front-end

3 Worker Role for background processing

4 Table Blob and Queue for ―unstructured but easy storage

2 Use Dynamic Languages to do the processing

1 Simplified deployment

2 Simplified ―code model

3 Simplified type management (dynamic typing no variable declaration)

4 Now fully integrated in NET with DLR and IronPython and IronRuby

3 Input and Output as structured text

1 ―M (in ―Oslo now SQL Server Modeling) gives us a generic schema language (more general that XSD) and more ―readable than xml

2 This gives structure and metadata to the Azure Storage data

4 Write DSL

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 110: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 111MOSE ndash University of Trieste

Writing a Custom DSL(Supposed)Needs of the ―non-programmer Libraries

Integrated functionalities

No ―include

Data Access as Libraries

Connect Command Execute LINQ

Define Datasource (Metadata) no SQL schema

All-in-one

One Component one ―file (as much as possible)

Simplifing deployment

Need of the programmer Not so (much) imperative not so (much)

functional not so (much) object oriented

State is not so bad

Lambda are cool (no functions all lambdas)

Escape to power (if DSL is ―poor) Backend of a full language totally integrated

DLR (Iron)Python (Iron)Ruby (Iron)JS (Javascript) and so on

cloud component

naming part (entry point)

Name = test 0004

declarative part

sections like cobol

input

i(label = Input Vector)

data

static declaration

m(name = matrix01 this is the query

label = multiplication matrix)

output

o(label = Output Vector)

coding part

dynamic like python (and vb)

verbose like visual basic

code this is the main

alterernative syntax of query from storage

calculated

m = lookup in Matrici

for NomeMatrice

multiline

comment

assign 0 to r

while r is less then mrows do

assign 0 to c

assign 0nm to a

while c is less then mcols do

a = a + m(rc) i(c)

increment a by m(rc) i(c)

python has no matrix but jagged arrays

increment c by 1

end do

assign a to o

increment r by 1

end do

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 111: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 112MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 112: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 113MOSE ndash University of Trieste

Home Automation

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 113: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 114MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 114: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 115MOSE ndash University of Trieste

Le sessioni

Esperienze su Private Clouds

Idee su PublicHybrid Clouds

Esperienze ―sistemistiche

menoesperienze ―programmative

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 115: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 116MOSE ndash University of Trieste

Cloud Computing for Chemical Property PredictionPaul Watson Newcastle University

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 116: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 117MOSE ndash University of Trieste

Bertrand MeyerETH Zurich

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 117: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 118MOSE ndash University of Trieste

Cloud Futures 2010

Le sessioni degli Italiani

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 118: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 119MOSE ndash University of Trieste

Danilo MontesiDanilo Montesi (UniBO) ha presentato il progetto ―Connected City Campus per connettere diverse strutture (dalllsquoospedale alllsquouniversitagrave alla biblioteca) facilitando la comunicazione e i servizi per i cittadini e sfruttando dalla rete wireless giagrave esistente Come dicevo molte domande alla fine sono arrivate sulle leggi italiane in tema di privacyconservazione dei dati

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 119: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 120MOSE ndash University of Trieste

Fabio Panzieri

Fabio Panzieri -nella foto con Judith Bishop Direttore Relazioni Esterne di Microsoft Research- anchlsquoegli di UniBO ha presentato ―QoS-aware Clouds che propone la creazione di un middleware alllsquointerno della piattaforma di Cloud per assegnare ―fette di cloud in modo dinamico e in funzione del livello di servizio acquistato dagli utenti

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 120: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 121MOSE ndash University of Trieste

Domenico TaliaDomenico Talia delllsquoUniversitagrave della Calabria probabilmente fra noi piugrave coinvolto nelllsquoargomento Cloud trattandolo giagrave nella sua didattica in progetti nazionali ed europei ed insegnando proprio Grid Computing La sua presentazione ha ricevuto molte domande percheacute ha presentato un problema reale in gran parte giagrave risolto tramite soluzioni cloud open source ovvero con la definizione di un framework che permette agli sviluppatori di creare processi componendo servizi disponibili su cloud o intercloud

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 121: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 122MOSE ndash University of Trieste

Antonio Cisternino

La presentazione di Antonio Cisternino delllsquoUniversitagrave di Pisa (Informatica) -veterano di questi eventi e introdotto nel gruppo di Redmond da oltre 10 anni- ha esposto un sistema di controllo dinamico per virtual machine con client giagrave disponibili anche per dispositivi mobili in HTML5 ad uso di farm di servizi cloud che debbano garantire disponibilitagrave e risparmio energetico

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 122: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 123MOSE ndash University of Trieste

Marco Parenzan

Marco Parenzan ricercatore delllsquoUniversitagrave di Trieste e il piugrave giovane della nostra delegazione ha presentato un progetto molto interessante per rendere disponibile llsquouso del cloud a ricercatori NON esperti in computer science (nel caso specifico a chimici) attraverso llsquouso di un linguaggio (DSL) che loro di esprimere e definire in maniera semplice le richieste elaborative e i dati su cui esse operano

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan

Page 123: 2010.04.30 summary of cloud futures 2010 marco parenzan pov

30 April 2010 - slide 124MOSE ndash University of Trieste

Grazie QampA

blog httpblogcodeisvaluecom

email marcoparenzanliberoit

web httpwwwcodeisvaluecom

skype marcoparenzan

messenger marcoparenzanliveit

slides httpwwwslidesharecommarcoparenzan

twitter marco_parenzan