79
Dec. 22, 2009 Harbin Engineering University Introduction to Cloud Introduction to Cloud Computing Computing Dr. Jun Ni, Ph.D. M.E. Dr. Jun Ni, Ph.D. M.E. Associate Professor, Radiology, Biomedical Engineering, Associate Professor, Radiology, Biomedical Engineering, Mechanical Engineering, Computer Science Mechanical Engineering, Computer Science The University of Iowa, Iowa City, USA The University of Iowa, Iowa City, USA

Multi-core Programming for Medical Imaging

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Multi-core Programming for Medical Imaging

Dec. 22, 2009 Harbin Engineering University

Introduction to Cloud Introduction to Cloud ComputingComputing

Dr. Jun Ni, Ph.D. M.E.Dr. Jun Ni, Ph.D. M.E.Associate Professor, Radiology, Biomedical Engineering, Associate Professor, Radiology, Biomedical Engineering,

Mechanical Engineering, Computer ScienceMechanical Engineering, Computer ScienceThe University of Iowa, Iowa City, USAThe University of Iowa, Iowa City, USA

Page 2: Multi-core Programming for Medical Imaging

OutlineOutline

Cloud ComputingCloud ComputingPlug ComputingPlug Computing

Page 3: Multi-core Programming for Medical Imaging

ResourcesResources

““Cloud ComputingCloud Computing”” on on WikiPediaWikiPediaThe lecture is extracted fromThe lecture is extracted from

Page 4: Multi-core Programming for Medical Imaging

Definition of CloudDefinition of Cloud

InternetInternet-- ("cloud("cloud--") based development and use ") based development and use of novel computer technologyof novel computer technologyInspired by the cloud symbolInspired by the cloud symbol

used to represent the Internet in flow charts and used to represent the Internet in flow charts and diagramsdiagrams

Page 5: Multi-core Programming for Medical Imaging

Definition of CloudDefinition of Cloud

Paradigm and vision Paradigm and vision Support dummy endSupport dummy end--users who no longer need users who no longer need knowledge of, expertise in, or control over the IT knowledge of, expertise in, or control over the IT technology infrastructuretechnology infrastructure

AttributesAttributesDynamical scalability Dynamical scalability HighlyHighly--virtual resources virtual resources Service computing over the InternetService computing over the Internet

Page 6: Multi-core Programming for Medical Imaging
Page 7: Multi-core Programming for Medical Imaging

Could Computing CoreCould Computing Core

Internet ComputingInternet ComputingNew computer network diagramsNew computer network diagramsAbstraction of the underlying internet based Abstraction of the underlying internet based infrastructureinfrastructure

Page 8: Multi-core Programming for Medical Imaging

Could Computing CoreCould Computing Core

Cloud computing core:Cloud computing core:Providers Providers

deliver common business applications online which are deliver common business applications online which are accessed from a web browseraccessed from a web browsersoftware and data are stored on the serverssoftware and data are stored on the servers

Distributed computingDistributed computingPeerPeer--toto--peer powered, applicationpeer powered, application--oriented computingoriented computing

Page 9: Multi-core Programming for Medical Imaging

Could Computing CoreCould Computing Core

These applications are broadly divided into the These applications are broadly divided into the following categories: following categories:

Software as a Service (Software as a Service (SaaSSaaS))Utility ComputingUtility ComputingWeb ServicesWeb ServicesPlatform as a Service (Platform as a Service (PaaSPaaS))Managed Service Providers (MSP)Managed Service Providers (MSP)Service CommerceService CommerceInternet IntegrationInternet Integration

Page 10: Multi-core Programming for Medical Imaging

Identification and ComparisonIdentification and Comparison

Comparisons with other computing infrastructureComparisons with other computing infrastructure

All are distributed computingAll are distributed computingGrid computingGrid computing

A super and virtual computer is composed of a cluster of A super and virtual computer is composed of a cluster of networkednetworkedlooselyloosely--coupled computers acting in concert to perform very coupled computers acting in concert to perform very large taskslarge tasksTechnologyTechnology--orientedorientedMore academic efforts More academic efforts Not necessary heavy serverNot necessary heavy server--thin client (depends)thin client (depends)

Page 11: Multi-core Programming for Medical Imaging

Identification and ComparisonIdentification and Comparison

Utility computingUtility computingPackaging of computing resourcesPackaging of computing resources

A metered service of computing (computation and A metered service of computing (computation and storage) similar to a traditional public utility, such as storage) similar to a traditional public utility, such as electricityelectricityFocus on business revenue and service chargeFocus on business revenue and service chargeTechnically centralizedTechnically centralizedHeavy server and thin clientHeavy server and thin clientLow virtual resources and less freedom (heavy Low virtual resources and less freedom (heavy centralization)centralization)

Page 12: Multi-core Programming for Medical Imaging

Identification and ComparisonIdentification and Comparison

Autonomic computingAutonomic computingComputer systems capable of selfComputer systems capable of self--managementmanagementNo serviceNo service--orientedoriented

Page 13: Multi-core Programming for Medical Imaging

Identification and ComparisonIdentification and Comparison

Indeed, many cloud computing deployments Indeed, many cloud computing deployments Depend on technical implementation and protocol Depend on technical implementation and protocol developed in developed in gridsgridsHave Have autonomicautonomic characteristicscharacteristicsBill like Bill like utilitiesutilitiesCloud computing expand the scope of grids and Cloud computing expand the scope of grids and utilities, either technical or visionutilities, either technical or vision

Page 14: Multi-core Programming for Medical Imaging

Identification and ComparisonIdentification and Comparison

Some successful cloud architectures have little Some successful cloud architectures have little or no centralized infrastructure or billing or no centralized infrastructure or billing systems whatsoever, including systems whatsoever, including

peerpeer--toto--peer networks such as peer networks such as BitTorrentBitTorrent and Skype, and Skype, and volunteer computingand volunteer computing

Page 15: Multi-core Programming for Medical Imaging

CloudCloud

CharacteristicsCharacteristics

Do not own the physical infrastructure (virtual)Do not own the physical infrastructure (virtual)Avoiding capital expenditure Avoiding capital expenditure

by renting usage from a thirdby renting usage from a third--party providerparty providerConsume resources as a serviceConsume resources as a service

pay only for resources that they usepay only for resources that they useMany cloudMany cloud--computing offerings employ the computing offerings employ the utility computing model (such as electricity) are utility computing model (such as electricity) are consumedconsumed

others bill on a subscription basisothers bill on a subscription basis

Page 16: Multi-core Programming for Medical Imaging

CloudCloud

CharacteristicsCharacteristicsSharing "perishable and intangible" computing power Sharing "perishable and intangible" computing power among multiple tenants among multiple tenants

Improve utilization ratesImprove utilization ratesServers are not unnecessarily left idle (which can reduce costs Servers are not unnecessarily left idle (which can reduce costs significantly while increasing the speed of application significantly while increasing the speed of application development)development)

A sideA side--effect effect Overall computer usage rises dramatically, as customers do Overall computer usage rises dramatically, as customers do not have to engineer for peak load limitsnot have to engineer for peak load limitsincreased highincreased high--speed bandwidth" makes it possible to receive speed bandwidth" makes it possible to receive the same response times from centralized infrastructure at the same response times from centralized infrastructure at other sitesother sitesLess Less realiabityrealiabity

Page 17: Multi-core Programming for Medical Imaging

Economics ModeEconomics Mode

Cloud computingCloud computing users can avoid users can avoid capital capital expenditureexpenditure ((CapExCapEx) on hardware, software, and ) on hardware, software, and services when they pay a provider only for what services when they pay a provider only for what they usethey useConsumption is usually billed on a Consumption is usually billed on a utilityutility(resources consumed, like electricity) or (resources consumed, like electricity) or subscriptionsubscription (time(time--sharingsharing--based, like a based, like a newspaper) basis with little or no upfront costnewspaper) basis with little or no upfront cost

Page 18: Multi-core Programming for Medical Imaging

Economics ModeEconomics Mode

Other benefits of this Other benefits of this time sharingtime sharing--style approachstyle approachlow barriers to entrylow barriers to entryshared infrastructure and costsshared infrastructure and costslow management overheadlow management overheadimmediate access to a broad range of applicationsimmediate access to a broad range of applications

In general, users can terminate the contract at any time In general, users can terminate the contract at any time (thereby avoiding return on investment risk and (thereby avoiding return on investment risk and uncertainty)uncertainty)services are often covered by service level agreements services are often covered by service level agreements ((SLAsSLAs) with financial penalties) with financial penalties

Page 19: Multi-core Programming for Medical Imaging

Infrastructure ChallengeInfrastructure Challenge

The majority of cloud computing infrastructureThe majority of cloud computing infrastructurereliable services delivered through reliable services delivered through data centersdata centers and and built on serversbuilt on servers

Clouds often appear as single points of access Clouds often appear as single points of access for all consumers' computing needsfor all consumers' computing needs

Page 20: Multi-core Programming for Medical Imaging

Infrastructure ChallengeInfrastructure Challenge

Commercial offerings are generally expected to Commercial offerings are generally expected to meet quality of service (meet quality of service (QoSQoS) requirements of ) requirements of customers and typically offer customers and typically offer SLAsSLAsOpen standards are critical to the growth of Open standards are critical to the growth of cloud computingcloud computingOpen source software has provided the Open source software has provided the foundation for many cloud computing foundation for many cloud computing implementationsimplementations

Page 21: Multi-core Programming for Medical Imaging

History of Cloud ComputingHistory of Cloud Computing

CloudCloud is a term that borrows from is a term that borrows from telephonytelephonyUp to the 1990s, data circuits (including those Up to the 1990s, data circuits (including those that carried Internet traffic) were hardthat carried Internet traffic) were hard--wired wired between destinationsbetween destinationsVirtual Private Network (VPN) service for data Virtual Private Network (VPN) service for data communicationscommunications

Page 22: Multi-core Programming for Medical Imaging

History of Cloud ComputingHistory of Cloud Computing

Cloud symbol was used to represent the Cloud symbol was used to represent the responsibility of the providerresponsibility of the providerCloud computing extends this to cover servers Cloud computing extends this to cover servers as well as the network infrastructureas well as the network infrastructure

Page 23: Multi-core Programming for Medical Imaging

History of Cloud ComputingHistory of Cloud Computing

Underlying concept of cloud computing dates Underlying concept of cloud computing dates back to back to 19601960, when , when John McCarthyJohn McCarthy opined that opined that ““computation may someday be organized as a computation may someday be organized as a public utilitypublic utility””

Page 24: Multi-core Programming for Medical Imaging

History of Cloud ComputingHistory of Cloud Computing

The term The term cloudcloud had already come into had already come into commercial use in the early 1990s to refer to commercial use in the early 1990s to refer to large large Asynchronous Transfer ModeAsynchronous Transfer Mode (ATM) (ATM) networks.networks.

Page 25: Multi-core Programming for Medical Imaging

History of Cloud ComputingHistory of Cloud Computing

In 1997, the first academic definition was In 1997, the first academic definition was provided by provided by RamnathRamnath K. K. ChellappaChellappa who called it who called it ““a computing paradigm where the boundaries of a computing paradigm where the boundaries of computing will be determined by computing will be determined by economic economic rationale rather than technical limitsrationale rather than technical limits””

Grid computing is driven by academic or technical Grid computing is driven by academic or technical paradigm, rather than economic rationaleparadigm, rather than economic rationale

Page 26: Multi-core Programming for Medical Imaging

History of Cloud ComputingHistory of Cloud Computing

LoudcloudLoudcloud, founded in 1999 by Marc Andreessen, was , founded in 1999 by Marc Andreessen, was one of the first to attempt to commercialize cloud one of the first to attempt to commercialize cloud computing with an Infrastructure as a Service model. computing with an Infrastructure as a Service model. By the turn of the 21st century, the term "cloud By the turn of the 21st century, the term "cloud computing" began to appear more widely, although computing" began to appear more widely, although most of the focus at that time was limited to most of the focus at that time was limited to SaaSSaaS, , called "ASP's" or called "ASP's" or Application Service ProvidersApplication Service Providers, under , under the terminology of the daythe terminology of the day

Page 27: Multi-core Programming for Medical Imaging

Driving Forces of Cloud ComputingDriving Forces of Cloud Computing

In the early 2000s, In the early 2000s, MicrosoftMicrosoft extended the extended the concept of concept of SaaSSaaS through the development of through the development of Web servicesWeb services

Page 28: Multi-core Programming for Medical Imaging

Driving Forces of Cloud ComputingDriving Forces of Cloud Computing

IBMIBM detailed these concepts in 2001 in the detailed these concepts in 2001 in the Autonomic Autonomic Computing ManifestoComputing Manifesto

Described advanced automation techniques Described advanced automation techniques SelfSelf--monitoring, selfmonitoring, self--healinghealingselfself--configuringconfiguringselfself--optimizing in the management of complex IT systems with optimizing in the management of complex IT systems with heterogeneous storageheterogeneous storageServersServersApplicationsApplicationsNetworksNetworkssecurity mechanismssecurity mechanismsOther system elements that can be virtualized across an enterpriOther system elements that can be virtualized across an enterprisese

Page 29: Multi-core Programming for Medical Imaging

Successful Uses of Cloud ComputingSuccessful Uses of Cloud Computing

AmazonAmazon played a key role in the development of played a key role in the development of cloud computing by modernizing their data cloud computing by modernizing their data centers after the centers after the dotdot--com bubblecom bubble

using as little as 10% of their capacity at any one using as little as 10% of their capacity at any one time just to leave room for occasional spikes time just to leave room for occasional spikes

Amazon started providing access to their Amazon started providing access to their systems through systems through Amazon Web ServicesAmazon Web Services on a on a utility computingutility computing basis in basis in 20052005

Page 30: Multi-core Programming for Medical Imaging

Successful Uses of Cloud ComputingSuccessful Uses of Cloud Computing

In In 20072007, , GoogleGoogle, , IBMIBM, and a number of , and a number of universities embarked on a large scale cloud universities embarked on a large scale cloud computing research projectcomputing research projectBy midBy mid--2008, Gartner with vision of "to shape 2008, Gartner with vision of "to shape the relationship among consumers of IT the relationship among consumers of IT services, and those who sell themservices, and those who sell them

Page 31: Multi-core Programming for Medical Imaging

Envisioning of Cloud ComputingEnvisioning of Cloud Computing

““Organizations are switching from companyOrganizations are switching from company--owned hardware and software assets to perowned hardware and software assets to per--use use serviceservice--based models"based models"

Page 32: Multi-core Programming for Medical Imaging

Technical Key WordsTechnical Key Words

AgilityAgility improves with users able to rapidly and improves with users able to rapidly and inexpensively reinexpensively re--provision technological provision technological infrastructure resources.infrastructure resources.

Page 33: Multi-core Programming for Medical Imaging

Technical Key WordsTechnical Key Words

CostCost is claimed to be greatly reduced and is claimed to be greatly reduced and capital capital expenditureexpenditure is converted to is converted to operational operational expenditureexpenditure. .

This ostensibly lowers This ostensibly lowers barriers to entrybarriers to entry, as , as infrastructure is typically provided by a thirdinfrastructure is typically provided by a third--party party and does not need to be purchased for oneand does not need to be purchased for one--time or time or infrequent intensive computing tasks. infrequent intensive computing tasks. Pricing on a Pricing on a utility computingutility computing basis is finebasis is fine--grained grained with usagewith usage--based options and fewer IT skills are based options and fewer IT skills are required for implementation (inrequired for implementation (in--house).house).

Page 34: Multi-core Programming for Medical Imaging

Technical Key WordsTechnical Key Words

DeviceDevice and location independenceand location independence enable enable users to access systems using a web browser users to access systems using a web browser regardless of their location or what device they regardless of their location or what device they are using (e.g., PC, mobile). are using (e.g., PC, mobile).

As infrastructure is offAs infrastructure is off--site (typically provided by a site (typically provided by a thirdthird--party) and accessed via the Internet, users can party) and accessed via the Internet, users can connect from anywhere.connect from anywhere.

Page 35: Multi-core Programming for Medical Imaging

Technical Key WordsTechnical Key Words

MultiMulti--tenancytenancy enables sharing of resources and enables sharing of resources and costs across a large pool of users thus allowing costs across a large pool of users thus allowing for: for:

CentralizationCentralization of infrastructure in locations with of infrastructure in locations with lower costs (such as real estate, electricity, etc.) lower costs (such as real estate, electricity, etc.) PeakPeak--load capacityload capacity increases (users need not increases (users need not engineer for highest possible loadengineer for highest possible load--levels) levels) Utilization and efficiencyUtilization and efficiency improvements for improvements for systems that are often only 10systems that are often only 10––20% utilized.20% utilized.

Page 36: Multi-core Programming for Medical Imaging

Technical Key WordsTechnical Key Words

ReliabilityReliability improves through the use of improves through the use of multiple redundant sites, which makes cloud multiple redundant sites, which makes cloud computing suitable for computing suitable for business continuitybusiness continuity and and disaster recoverydisaster recovery. .

Nonetheless, many major cloud computing services Nonetheless, many major cloud computing services have suffered outageshave suffered outagesIT and business managers can at times do little when IT and business managers can at times do little when they are affected.they are affected.

Page 37: Multi-core Programming for Medical Imaging

Technical Key WordsTechnical Key Words

ScalabilityScalability via dynamic ("onvia dynamic ("on--demand") demand") provisioningprovisioning of resources on a fineof resources on a fine--grained, selfgrained, self--service basis near realservice basis near real--time, without users having time, without users having to engineer for peak loads. to engineer for peak loads.

PerformancePerformance is monitoredis monitoredConsistent and looselyConsistent and loosely--coupled architectures are coupled architectures are constructed using constructed using Web servicesWeb services as the system as the system interfaceinterface

Page 38: Multi-core Programming for Medical Imaging

Technical ConcernsTechnical Concerns

Concerns can persist about Concerns can persist about Loss of control over certain sensitive dataLoss of control over certain sensitive dataLack of security for stored kernelsLack of security for stored kernelsSecurity is often as good as or better than under traditional Security is often as good as or better than under traditional systemssystems

because providers are able to devote resources to solving securibecause providers are able to devote resources to solving security ty issues that many customers cannot afford. issues that many customers cannot afford.

Providers typically log accesses, but accessing the Providers typically log accesses, but accessing the audit logsaudit logsthemselves can be difficult or impossible. themselves can be difficult or impossible. Furthermore, the complexity of security is greatly increased Furthermore, the complexity of security is greatly increased when data is distributed over a wider area and / or number of when data is distributed over a wider area and / or number of devices. devices.

Page 39: Multi-core Programming for Medical Imaging

Technical Key WordsTechnical Key Words

SustainabilitySustainability comes about through comes about through improved resource utilizationimproved resource utilizationmore efficient systemsmore efficient systemscarbon neutralitycarbon neutrality

MaintenanceMaintenance cloud computing applications are easier cloud computing applications are easier to maintainto maintain

Since they don't have to be installed on each user's computer. Since they don't have to be installed on each user's computer. They are easier to support and to improve since the changes They are easier to support and to improve since the changes reach the clients instantlyreach the clients instantly

Page 40: Multi-core Programming for Medical Imaging

Stack of Could Computing

Layers of Cloud Computing

Page 41: Multi-core Programming for Medical Imaging

Cloud ClientCloud Client

Layer

A A cloud clientcloud client layer consists of layer consists of computer hardwarecomputer hardwareand/or and/or computer softwarecomputer software

relies on cloud computing for application deliveryrelies on cloud computing for application deliveryspecifically designed for delivery of cloud services specifically designed for delivery of cloud services and that, in either case, is essentially useless without and that, in either case, is essentially useless without itit

Page 42: Multi-core Programming for Medical Imaging

Cloud ClientCloud Client

Layer

For example:For example:MobileMobile ((Linux basedLinux based -- Palm PrePalm Pre-- WebOSWebOS Linux Linux KernelKernel, , AndroidAndroid--LinuxLinux Kernel, Kernel, iPhoneiPhone--DarwinDarwinLinuxLinux Kernel, Kernel, Microsoft basedMicrosoft based -- Windows MobileWindows Mobile))Thin clientThin client ((CherryPalCherryPal, , WyseWyse, , ZonbuZonbu, , gOSgOS--based based systems)systems)Thick clientThick client / / Web browserWeb browser ((Internet ExplorerInternet Explorer, , Mozilla FirefoxMozilla Firefox, , Google ChromeGoogle Chrome, , WebKitWebKit))

Page 43: Multi-core Programming for Medical Imaging

Application LayerApplication Layer

A A cloud applicationcloud application leverages cloud computing in leverages cloud computing in software architecturesoftware architecture, often eliminating the need , often eliminating the need to install and run the application on the to install and run the application on the customer's own computer, thus alleviating the customer's own computer, thus alleviating the burden of software maintenance, ongoing burden of software maintenance, ongoing operation, and support. operation, and support.

Page 44: Multi-core Programming for Medical Imaging

Application LayerApplication LayerFor example:For example:

PeerPeer--toto--peerpeer / / volunteer computingvolunteer computing ((BOINCBOINC, , SkypeSkype) ) Web applicationsWeb applications ((WebmailWebmail, , FacebookFacebook, , TwitterTwitter, , YouTubeYouTube) ) Security as a serviceSecurity as a service ((MessageLabsMessageLabs, , PurewirePurewire, , ScanSafeScanSafe, , ZscalerZscaler) ) Software as a serviceSoftware as a service (A2Zapps.com, (A2Zapps.com, Google AppsGoogle Apps, , SalesforceSalesforce, , Learn.comLearn.com, , ZohoZoho, , BigGyan.comBigGyan.com) ) Software plus servicesSoftware plus services ((Microsoft Online ServicesMicrosoft Online Services) ) Storage [Distributed] Storage [Distributed] Content distributionContent distribution ((BitTorrentBitTorrent, , Amazon Amazon CloudFrontCloudFront) ) SynchronisationSynchronisation ((DropboxDropbox, , Live MeshLive Mesh, , SpiderOakSpiderOak, , ZumoDriveZumoDrive))

Page 45: Multi-core Programming for Medical Imaging

Platform layerPlatform layer

A A cloud platformcloud platform ((PaaSPaaS) delivers a ) delivers a computing computing platformplatform and/or and/or solution stacksolution stack as a serviceas a service, , generally consuming generally consuming cloud infrastructurecloud infrastructure and and supporting supporting cloud applicationscloud applications. .

It facilitates deployment of applications without the It facilitates deployment of applications without the cost and complexity of buying and managing the cost and complexity of buying and managing the underlying hardware and software layersunderlying hardware and software layers

Page 46: Multi-core Programming for Medical Imaging

Platform LayerPlatform Layer

For example:For example:ServicesServices

IdentityIdentity ((OAuthOAuth, , OpenIDOpenID) ) PaymentsPayments ((Amazon Flexible Payments ServiceAmazon Flexible Payments Service, , Google Google CheckoutCheckout, , PayPalPayPal) ) SearchSearch ((AlexaAlexa, , Google Custom SearchGoogle Custom Search, , Yahoo! BOSSYahoo! BOSS) ) RealReal--world (world (Amazon Mechanical TurkAmazon Mechanical Turk) )

Page 47: Multi-core Programming for Medical Imaging

Platform LayerPlatform Layer

For example:For example:Solution stacksSolution stacks

JavaJava ((Google App EngineGoogle App Engine) ) PHPPHP ((RackspaceRackspace Cloud SitesCloud Sites) ) PythonPython DjangoDjango ((Google App EngineGoogle App Engine) ) Ruby on RailsRuby on Rails ((HerokuHeroku) ) .NET.NET ((Azure Services PlatformAzure Services Platform, , RackspaceRackspace Cloud SitesCloud Sites) ) Proprietary (Proprietary (Force.comForce.com, , , , Wolf FrameworksWolf Frameworks) )

Page 48: Multi-core Programming for Medical Imaging

Platform LayerPlatform Layer

For example:For example:Storage [Structured] Storage [Structured]

Databases (Databases (Amazon Amazon SimpleDBSimpleDB, , BigTableBigTable) ) File storage (File storage (Amazon S3Amazon S3, , NirvanixNirvanix, , RackspaceRackspace Cloud Cloud FilesFiles) )

QueuesQueues ((Amazon SQSAmazon SQS))

Page 49: Multi-core Programming for Medical Imaging

Infrastructure LayerInfrastructure Layer

Cloud infrastructureCloud infrastructure ((IaaSIaaS) is the delivery of ) is the delivery of computercomputerinfrastructureinfrastructure, typically a , typically a platform virtualizationplatform virtualizationenvironment, environment, as a serviceas a service. For example:. For example:

ComputeCompute ((Amazon Amazon CloudWatchCloudWatch, , RightScaleRightScale) ) Physical machinesPhysical machines) ) Virtual machinesVirtual machines ((Amazon EC2Amazon EC2, , GoGridGoGrid, , ilandiland, , RackspaceRackspace Cloud Cloud ServersServers) ) OSOS--level level virtualisationvirtualisation

Network (Network (Amazon VPCAmazon VPC) ) Storage [Raw] (Storage [Raw] (Amazon EBSAmazon EBS))

Page 50: Multi-core Programming for Medical Imaging

Servers LayerServers Layer

The The serversservers layer consists of layer consists of computer hardwarecomputer hardwareand/or and/or computer softwarecomputer software products that are products that are specifically designed for the delivery of cloud specifically designed for the delivery of cloud services. For example:services. For example:Fabric computingFabric computing ((CiscoCisco UCS)UCS)

Page 51: Multi-core Programming for Medical Imaging

Cloud architectureCloud architecture

Cloud architectureCloud architecture the the systems architecturesystems architecture of the of the software systemssoftware systems involved in the delivery of involved in the delivery of cloud cloud computingcomputing, comprises hardware and software , comprises hardware and software designed by a designed by a cloud architectcloud architect who typically works who typically works for a for a cloud integratorcloud integrator. . It typically involves multiple It typically involves multiple cloud componentscloud componentscommunicating with each other over communicating with each other over application application programming interfacesprogramming interfaces, usually , usually Web servicesWeb services..

Page 52: Multi-core Programming for Medical Imaging

Cloud architectureCloud architecture

This closely resembles the This closely resembles the Unix philosophyUnix philosophy of of having multiple programs each doing one thing having multiple programs each doing one thing well and working together over universal well and working together over universal interfaces. Complexity is controlled and the interfaces. Complexity is controlled and the resulting systems are more manageable than resulting systems are more manageable than their their monolithicmonolithic counterparts.counterparts.

Page 53: Multi-core Programming for Medical Imaging

Cloud architectureCloud architecture

Cloud architectureCloud architecture extends to the client, where extends to the client, where Web Web browsersbrowsers and/or and/or software applicationssoftware applications access access cloud cloud applicationsapplications..Cloud storage architectureCloud storage architecture is loosely coupled, often is loosely coupled, often assiduously avoiding the use of centralized assiduously avoiding the use of centralized metadatametadataserversservers

can become bottlenecks. can become bottlenecks. This enables the data nodes to scale into the hundreds, This enables the data nodes to scale into the hundreds, each independently delivering data to applications or each independently delivering data to applications or users.users.

Page 54: Multi-core Programming for Medical Imaging
Page 55: Multi-core Programming for Medical Imaging

Types by VisibilityTypes by Visibility

Public cloudPublic cloudPublic cloudPublic cloud or or external cloudexternal cloud describes cloud describes cloud computing in the traditional mainstream sensecomputing in the traditional mainstream sense

resources are dynamically provisioned on a fineresources are dynamically provisioned on a fine--grained, grained, selfself--service basis over the Internet, via service basis over the Internet, via web web applications/web servicesapplications/web services, , from an offfrom an off--site thirdsite third--party provider who party provider who shares resourcesshares resourcesand bills on a fineand bills on a fine--grained grained utility computing utility computing basis.basis.

Page 56: Multi-core Programming for Medical Imaging

Types by VisibilityTypes by Visibility

Hybrid cloudHybrid cloudA A hybrid cloudhybrid cloud environment consisting of multiple environment consisting of multiple internal and/or external providers "will be typical for internal and/or external providers "will be typical for most enterprises".most enterprises".A hybrid cloud can describe configuration A hybrid cloud can describe configuration combining a local devicecombining a local device

Plug computerPlug computer with cloud services.with cloud services.

Page 57: Multi-core Programming for Medical Imaging

Types by VisibilityTypes by Visibility

Hybrid cloudHybrid cloudIt can also describe configurations combining virtual It can also describe configurations combining virtual and physical, and physical, colocatedcolocated assetsassets

for example, a mostly virtualized environment that for example, a mostly virtualized environment that requires physical requires physical serversservers, , routersrouters, or other hardware such , or other hardware such as a network appliance acting as a firewall or spam filteras a network appliance acting as a firewall or spam filter

Page 58: Multi-core Programming for Medical Imaging

Types by visibilityTypes by visibility

Private cloudPrivate cloudPrivate cloudPrivate cloud and and internal cloudinternal cloud are are neologismsneologisms that some that some vendors have recently used to describe offerings that emulate vendors have recently used to describe offerings that emulate cloud computing on private networks. cloud computing on private networks. These (typically These (typically virtualization automationvirtualization automation) products claim to ) products claim to "deliver some benefits of cloud computing without the "deliver some benefits of cloud computing without the pitfalls", pitfalls",

capitalisingcapitalising on on data securitydata securitycorporate governancecorporate governancereliability concernsreliability concerns

Page 59: Multi-core Programming for Medical Imaging

Types by VisibilityTypes by Visibility

They have been criticized on the basis that users They have been criticized on the basis that users "still have to buy, build, and manage them" "still have to buy, build, and manage them"

as such do not benefit from lower upas such do not benefit from lower up--front capital costs front capital costs and less handsand less hands--on management, essentiallyon management, essentially””

Economic model that makes cloud computing such Economic model that makes cloud computing such an intriguing concept"an intriguing concept"

Page 60: Multi-core Programming for Medical Imaging

Types by VisibilityTypes by Visibility

While an Analyst predicted in 2008 that private cloud While an Analyst predicted in 2008 that private cloud networks would be the future of corporate ITnetworks would be the future of corporate ITThere is some uncertainty whether they are a reality even There is some uncertainty whether they are a reality even within the same firm.within the same firm.

Analysts also claim that within five years a "huge percentage" Analysts also claim that within five years a "huge percentage" of of small and medium enterprisessmall and medium enterprises will get most of their computing will get most of their computing resources from external cloud computing providers as they "will resources from external cloud computing providers as they "will not not have economies of scale to make it worth staying in the IT have economies of scale to make it worth staying in the IT business" or be able to afford private clouds. business" or be able to afford private clouds. Analysts have reported on Analysts have reported on Platform'sPlatform's view that private clouds are a view that private clouds are a stepping stone to external clouds, particularly for the financiastepping stone to external clouds, particularly for the financial l services, and that future datacenters will look like internal clservices, and that future datacenters will look like internal clouds.ouds.

Page 61: Multi-core Programming for Medical Imaging

Types by VisibilityTypes by Visibility

The term has also been used in the logical The term has also been used in the logical rather than physical senserather than physical sense

for example in reference to for example in reference to platform as a serviceplatform as a serviceofferings, though such offerings including offerings, though such offerings including Microsoft'sMicrosoft's Azure Services PlatformAzure Services Platform are not are not available for onavailable for on--premises deployment.premises deployment.

Page 62: Multi-core Programming for Medical Imaging
Page 63: Multi-core Programming for Medical Imaging

Types of servicesTypes of services

Services provided by cloud computing can Services provided by cloud computing can be split into three major categories:be split into three major categories:

InfrastructureInfrastructure--asas--aa--ServiceService(IaaS(IaaS) ) like Amazon Web Services provides virtual servers like Amazon Web Services provides virtual servers with unique IP addresses and blocks of storage on with unique IP addresses and blocks of storage on demand. demand. Customers benefit from an Customers benefit from an APIAPI from which they can from which they can control their servers. control their servers. Because customers can pay for exactly the amount of Because customers can pay for exactly the amount of service they use, like for electricity or water, this service they use, like for electricity or water, this service is also called utility computing.service is also called utility computing.

Page 64: Multi-core Programming for Medical Imaging

Types of servicesTypes of services

PlatformPlatform--asas--aa--ServiceService(PaaS(PaaS) ) is a set of software and development tools hosted on is a set of software and development tools hosted on the provider's servers. the provider's servers.

Developers can create applications using the Developers can create applications using the provider's APIs. provider's APIs.

Google Apps is one of the most famous PlatformGoogle Apps is one of the most famous Platform--asas--aa--Service providers. Service providers.

Developers should take notice that there aren't any Developers should take notice that there aren't any interoperability standards (yet), so some providers interoperability standards (yet), so some providers may not allow you to take your application and put it may not allow you to take your application and put it on another platform.on another platform.

Page 65: Multi-core Programming for Medical Imaging

Types of servicesTypes of services

SoftwareSoftware--asas--aa--ServiceService ((SaaSSaaS) ) is the broadest market. In this case the provider is the broadest market. In this case the provider allows the customer only to use its applications. allows the customer only to use its applications.

The software interacts with the user through a user The software interacts with the user through a user interface.interface.

These applications can be anything from web based These applications can be anything from web based email, to applications like email, to applications like TwitterTwitter or Last FM.or Last FM.

Page 66: Multi-core Programming for Medical Imaging

References References AviableAviable

on on WikiPediaWikiPedia

""Cloud Computing: Clash of the cloudsCloud Computing: Clash of the clouds". The Economist. ". The Economist. 20092009--1010--15. 15. http://http://www.economist.com/displaystory.cfm?story_idwww.economist.com/displaystory.cfm?story_id=146=1463720637206. Retrieved 2009. Retrieved 2009--1111--03. 03. Distinguishing Cloud Computing from Utility ComputingDistinguishing Cloud Computing from Utility ComputingGartner Says Cloud Computing Will Be As Influential As EGartner Says Cloud Computing Will Be As Influential As E--businessbusinessGrumanGruman, Galen (2008, Galen (2008--0404--07). "07). "What cloud computing really What cloud computing really meansmeans". ". InfoWorldInfoWorld. . http://www.infoworld.com/article/08/04/07/15FEhttp://www.infoworld.com/article/08/04/07/15FE--cloudcloud--computingcomputing--reality_1.htmlreality_1.html. Retrieved 2009. Retrieved 2009--0606--02. 02.

Page 67: Multi-core Programming for Medical Imaging

References References AviableAviable

on on WikiPediaWikiPedia

The Internet CloudThe Internet Cloud

http://searchcloudcomputing.techtarget.com/sDefinition/http://searchcloudcomputing.techtarget.com/sDefinition/0,,sid201_gci1287881,00.html0,,sid201_gci1287881,00.html

""It's probable that youIt's probable that you’’ve misunderstood 'Cloud ve misunderstood 'Cloud Computing' until nowComputing' until now". ". TechPlutoTechPluto. . http://http://portal.acm.org/citation.cfm?idportal.acm.org/citation.cfm?id=1496091.1496100&co=1496091.1496100&co

ll=&dl=ACM&CFID=21518680&CFTOKEN=18800807ll=&dl=ACM&CFID=21518680&CFTOKEN=18800807..

Page 68: Multi-core Programming for Medical Imaging

References References AviableAviable

on on WikiPediaWikiPedia

What's In A Name? Utility vs. Cloud What's In A Name? Utility vs. Cloud vsvs GridGridI.B.M. to Push I.B.M. to Push ‘‘Cloud Computing,Cloud Computing,’’ Using Data From AfarUsing Data From AfarOverheard: What the heck is computing in a cloud?Overheard: What the heck is computing in a cloud?ACM Ubiquity: Emergence of The Academic Computing ACM Ubiquity: Emergence of The Academic Computing CloudCloudCloud Computing: The Evolution of SoftwareCloud Computing: The Evolution of Software--asas--aa--ServiceServiceForrester's Advice to CFOs: Embrace Cloud Computing to Forrester's Advice to CFOs: Embrace Cloud Computing to Cut CostsCut CostsFive cloud computing questionsFive cloud computing questionsNicholas Carr on 'The Big Switch' to cloud computingNicholas Carr on 'The Big Switch' to cloud computingMidsize Organization Busts 5 Cloud Computing MythsMidsize Organization Busts 5 Cloud Computing Myths

Page 69: Multi-core Programming for Medical Imaging

References References AviableAviable

on on WikiPediaWikiPedia

Cloud Computing Savings Cloud Computing Savings -- Real or Imaginary?Real or Imaginary?BuyyaBuyya, , RajkumarRajkumar; ; CheeChee Shin Shin YeoYeo, , SrikumarSrikumar VenugopalVenugopal ((PDFPDF). ). MarketMarket--Oriented Cloud Computing: Vision, Hype, and Reality for DeliveriOriented Cloud Computing: Vision, Hype, and Reality for Delivering ng IT Services as Computing UtilitiesIT Services as Computing Utilities. Department of Computer Science . Department of Computer Science and Software Engineering, The University of Melbourne, Australiaand Software Engineering, The University of Melbourne, Australia. pp. . pp. 9. 9. http://www.gridbus.org/~raj/papers/hpcc2008_keynote_cloudcompuhttp://www.gridbus.org/~raj/papers/hpcc2008_keynote_cloudcomputing.pdfting.pdf. Retrieved 2008. Retrieved 2008--0707--31. 31. Open source fuels growth of cloud computing, softwareOpen source fuels growth of cloud computing, software--asas--aa--serviceservice""Cloud computingCloud computing------emerging paradigm for computingemerging paradigm for computing". ". http://meetings.informs.org/Dallas97/TALKS/C20.htmlhttp://meetings.informs.org/Dallas97/TALKS/C20.html. . July, 1993 meeting report from the IP over ATM working group of July, 1993 meeting report from the IP over ATM working group of the the IETFIETFInternet Critic Takes on MicrosoftInternet Critic Takes on Microsoft

Page 70: Multi-core Programming for Medical Imaging

ReferencesReferences

aa bb Jeff Jeff BezosBezos' Risky Bet' Risky BetGoogle and I.B.M. Join in Google and I.B.M. Join in ‘‘Cloud ComputingCloud Computing’’ ResearchResearchKeep an eye on cloud computingKeep an eye on cloud computing, Amy , Amy SchurrSchurr, Network World, 2008, Network World, 2008--0707--08, citing the 08, citing the GartnerGartner report, report, ““Cloud Computing Confusion Leads to Cloud Computing Confusion Leads to OpportunityOpportunity””. Retrieved 2009. Retrieved 2009--0909--11. 11. Gartner Says Worldwide IT Spending On Pace to Surpass $3.4 TrillGartner Says Worldwide IT Spending On Pace to Surpass $3.4 Trillion ion in 2008in 2008, , GartnerGartner, 2008, 2008--0808--18. Retrieved 200918. Retrieved 2009--0909--11. 11. aa bb Computers without bordersComputers without bordersFeature Guide: Amazon EC2 Availability ZonesFeature Guide: Amazon EC2 Availability Zones

http://www.guardian.co.uk/technology/2008/sep/29/cloud.computinhttp://www.guardian.co.uk/technology/2008/sep/29/cloud.computing.richard.stallmang.richard.stallmanInfrastructure Agility: Cloud Computing as a Best PracticeInfrastructure Agility: Cloud Computing as a Best PracticeRecession Is Good For Cloud Computing Recession Is Good For Cloud Computing –– Microsoft AgreesMicrosoft Agreesaa bb cc dd Defining Defining ““Cloud ServicesCloud Services”” and and ““Cloud ComputingCloud Computing””

Page 71: Multi-core Programming for Medical Imaging

ReferencesReferences

The new geek chic: Data centersThe new geek chic: Data centersCloud Computing: Small Companies Take FlightCloud Computing: Small Companies Take FlightGoogle Apps Google Apps AdminsAdmins Jittery About Gmail, Hopeful About Jittery About Gmail, Hopeful About FutureFutureNew Resource, Born of a Cloud FeudNew Resource, Born of a Cloud FeudExariExari: Death By Laptop: Death By LaptopEncrypted Storage and Key Management for the cloudEncrypted Storage and Key Management for the cloudCloud computing security forecast: Clear skiesCloud computing security forecast: Clear skiesGoogle to go carbon neutral by 2008Google to go carbon neutral by 2008What is Cloud Computing?What is Cloud Computing?Shut off your computerShut off your computeraa bb Nimbus Cloud GuideNimbus Cloud Guide

Page 72: Multi-core Programming for Medical Imaging

ReferencesReferences

Google's Open Source Android OS Will Free the Wireless Google's Open Source Android OS Will Free the Wireless WebWebIn Sync to Pierce the CloudIn Sync to Pierce the CloudMicrosoft demos mobile cloud sync clientMicrosoft demos mobile cloud sync clientCherryPalCherryPal brings cloud computing to the massesbrings cloud computing to the massesZonbuZonbu has alluring features, pricehas alluring features, priceGOS cloud computingGOS cloud computingGoogle angles for business users with 'platform as a Google angles for business users with 'platform as a service'service'The Emerging Cloud Service ArchitectureThe Emerging Cloud Service ArchitectureEMC buys Pi and forms a cloud computing groupEMC buys Pi and forms a cloud computing groupBuilding Building GrepTheWebGrepTheWeb in the Cloud, Part 1: Cloud in the Cloud, Part 1: Cloud ArchitecturesArchitectures

Page 73: Multi-core Programming for Medical Imaging

ReferencesReferences

Cloud Maturity Is Accelerating: More Than Just Reaction Cloud Maturity Is Accelerating: More Than Just Reaction To The Hype?To The Hype?IBM Embraces Juniper For Its Smart 'Hybrid Cloud', IBM Embraces Juniper For Its Smart 'Hybrid Cloud', DissesDisses Cisco (IBM)Cisco (IBM)aa bb Private Clouds Take ShapePrivate Clouds Take ShapeBlend the strengths of virtual and physicalBlend the strengths of virtual and physicalJust don't call them private cloudsJust don't call them private cloudsThere's No Such Thing As A Private CloudThere's No Such Thing As A Private CloudPrivate cloud networks are the future of corporate ITPrivate cloud networks are the future of corporate ITPrivate Cloud Computing: The Only Thing Real so Far is Private Cloud Computing: The Only Thing Real so Far is the Desirethe DesireMillionMillion--Dollar Private CloudsDollar Private CloudsFrom Grid to Cloud (ITFrom Grid to Cloud (IT--Tude.comTude.com))Google opens private cloud to codersGoogle opens private cloud to coders

Page 74: Multi-core Programming for Medical Imaging

ReferencesReferencesMicrosoft Nixes Private Azure CloudsMicrosoft Nixes Private Azure CloudsCloud computing servicesCloud computing servicesCloud Computing Risk Assessment (including Cloud Computing Risk Assessment (including recommendations)recommendations) -- November 2009, November 2009, ENISAENISA (with PDF (with PDF file; 2 MB) file; 2 MB) M. D. M. D. DikaiakosDikaiakos, D. , D. KatsarosKatsaros, G. , G. PallisPallis, A. , A. VakaliVakali, P. , P. MehraMehra: Guest Editors Introduction: : Guest Editors Introduction: "Cloud Computing, "Cloud Computing, IEEE Internet Computing"IEEE Internet Computing", 12(5), Sep. 2009. , 12(5), Sep. 2009. San San MurugesanMurugesan (Editor), (Editor), "Cloud Computing: "Cloud Computing: IT'sIT's Day in Day in the Sun?"the Sun?", Cutter Consortium, 2009. , Cutter Consortium, 2009.

Page 75: Multi-core Programming for Medical Imaging

ReferencesReferencesLuis M. Vaquero et al., Luis M. Vaquero et al., A Break in the Clouds: Toward a A Break in the Clouds: Toward a Cloud DefinitionCloud Definition, ACM SIGCOMM Computer , ACM SIGCOMM Computer Communication Review, Volume 39, Issue 1 (January 2009), Communication Review, Volume 39, Issue 1 (January 2009), Pages 50Pages 50––55, ISSN:014655, ISSN:0146--4833 4833 What is Cloud ComputingWhat is Cloud Computing ? ? -- Web 2.0 expoWeb 2.0 expo -- A video where A video where Tim OTim O’’Reilly, Dan Farber, Matt Reilly, Dan Farber, Matt MullenwegMullenweg and others and others answer this question. answer this question. National Institute of Standards and Technology (USA) National Institute of Standards and Technology (USA) definition of cloud computing.definition of cloud computing.The Cloud Tutorial.The Cloud Tutorial.

Page 79: Multi-core Programming for Medical Imaging

Thanks

Questions?