introduction to mobile and cloud computing - cs.umb.edushengbo/teaching/cs697/lecture1.pdf · •...
TRANSCRIPT
1
Introduction to Mobile and Cloud
Computing
CS697: Mobile and Cloud Computing
1
Outline
• Syllabus and Overview
• Introduction to Cloud Computing
• Introduction to Mobile Computing
2
General Information
• Location and Time: M03-0204A, Tu & Th, 4:00 ~ 5:15pm
• Office: Science Center, S-3-075
• Email: [email protected]
• Office Hours: Tu & Th, 2 ~ 4pm
• Class Materials: http://www.cs.umb.edu/~shengbo/teaching/cs697.html
• Turn in homework via email (usually)
• Use “CS697” in subject line.
• If I receive your email, I will reply. If you do not get
anything in 2-3 days, email again.
3
Why a class on mobile & cloud computing?
• Emerging areas that will be increasingly important
• Better job prospects, e.g., companies like Facebook,
Twitter, Amazon, etc, are hiring
• Impact many different areas of research, such as
networking, data mining, security, high performance
computing, graphics, and so on
• Many mobile applications depend on the cloud, e.g.,
Windows mobile & Azure, iPhone & iCloud.
4
Goals for this class
• Introduce key technologies and open problems
• How? Student presentations on recent papers from
premier conferences and journals
• Provide hands-on experience
• How? Programming assignments, one on cloud, one on
mobile phones, and one combining cloud and phones.
• Explore research topics
• How? Complete one research project during the entire
semester
5
General Information
• Pre-requisites. None.
• Textbook. None.
• Your background
– OS? Distributed OS?
– Networks / Wireless networking?
– Programming languages? Java? C#? Javascript?
Python?
– Use Linux?
– Programmed android/iPad/windows mobile before?
– Access to laptop/PC?
6
2
General Information
• Grading Policy
– Attendance & participation 10%
– Paper presentations (2) 20%
– Homework assignments (3) 30%
– Class project (1) 40%
• University’s Policies
– Plagiarism, Honor code
– Emergency
– Disability service
7
Paper Presentation
• Everyone will present 2 papers, one for cloud and the
other for mobile computing
• A list of papers can be found on course web page.
• Pick 4 papers total (2 cloud and 2 mobile) and email me.
I will do the assignment.
• Do this by Monday, Sept 10 noon.
• May provide guidelines on presentations later
8
Class Project
• Either individual or in a group of 2 students
• Project considered complete if it has
– Short report. 5-6 pages long, IEEE conference format
– Source code and documentation
– Presentation of project or demo (last 1 or 2 classes)
• Turn in 1 of everything per project. E.g., a group
will only turn in 1 report with both names on it.
Same grade for both people
• Team management
9
Class Project
• In general, your project should have an
evaluation component.
• System implementation/prototype, can be
combined on simulation (Matlab, NS2, etc).
• This means you have to think about issues like
workload, trace data, experimental setup.
• No surprises. The expected output should be
discussed with me in advance.
• It MUST work!
10
Project Topics
• Mobil phone Wi-Fi scanning
– Find available Wi-Fi APs and test the link quality
– Report to cloud and make it accessible to others
• Mobile phone Apps for drivers
– Interactive speech-based navigation
– Foreign road signs reorganization
• NFC-initialized communication between phones
– Wi-Fi ad-hoc, Wi-Fi direct, or Bluetooth
• Cross device web caching/prefetching
– Desktop, laptop, tablet, smartphone, etc
– Cloud-based service
11
Project Topics
• Capacity planning on cloud service
– Monitor the service load, analyze and predict the pattern
– Dynamically allocate more resources when needed
• Job scheduling and resource bidding
– Cloud service charge may vary, e.g, AWS’s ‘spot instance’
– Non real-time jobs, but with deadlines
– Given a limited budget
• Mobile bulletin board
– Drop messages from phones to specific receivers
– Valid only when receivers are in a certain area / within a certain
time span
12
3
Class Project
• Choose a topic by Sept. 25’s class
• 10 min progress report on Oct. 23
• Final report due at the end of semester
13
Available Resources
• Smartphones
– Windows phones (Samsung Focus)
– Android phone (HTC, Samsung)
14
Available Resources
• Cloud service
– 12 Azure passes
– AWS
15
Compute • 1 hosted service, with 2 small compute instances
Storage • 1 storage account, with 3GB of storage and
250,000 storage transactions
Database • Two 1GB SQL Azure Web Edition databases
Data Transfers (per region) • 3 GB in • 3 GB out
Other • 100,000 Access Control transactions • 2 Service Bus
connections
Outline
• Syllabus and Overview
• Introduction to Cloud Computing
• Introduction to Mobile Computing
16
What is cloud computing
17
“The interesting thing about Cloud Computing is
that we’ve redefined Cloud Computing to include
everything that we already do.”
Larry Ellison, Oracle CEO
“It’s stupidity. It’s worse than stupidity: it’s a
marketing hype campaign.”
Richard Stallman, Founder of GNU
Views from NIST
• National Institute of Standards and Technology
• Responsible for developing standards and guidelines for government operations and assets (excluding national security)
• A model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
18
4
In the Beginning was the Mainframe and Terminals
Users did individual work by connecting to central computer
Next came PCs
Users did individual work
on their own desktops
Then the PCs Got Tied Together
Users could talk to each other’s PCs
Then came the Web
Users did individual work by connecting to web
servers
Then the Web got big
Server had to become
cluster of PCs
Then the Web got REALLY big, and really important
Server PCs had to live in
expensive data center
Microsoft Data Center in Dublin, 27,000 m2, 22 MW, US$ 500 M
5
Data Centers
• Need lots of electric power (1.5% of all US
electricity, EPA 2007)
• Long lead time to build
• Inflexible investment of capital
• Need specialized skills (security, failover, load
balancing, etc.)
• Takes time away from core competencies
• Hard for all but largest companies to own/run
Solution: Outsource Data Center
• Can reap economies of scale
• Because of scale, can afford specialized skills
• Web developers can concentrate on their core competencies that give them market advantage
• Shorter lead times
• Lower capital requirements
• Computing power becomes a commodity, as did electric power in early 20th century
See The Big Switch: Rewiring the World, from Edison to Google ,
by Nicholas Carr, Norton, 2008, from which this chart is taken
Similar to Electrification
in Early 20th Century 5 Key Characteristics of Cloud
• On demand self-service. User can provision computing
capabilities without human interaction with service
provider
• Broad network access. Computing facilities available
over network using standard mechanisms
• Resource pooling. Service provider resources are pooled
to support muti-tenant model, with resources (physical &
virtual) dynamically assigned
28
• Rapid elasticity. Computing capabilities can be elastically
provisioned and released. Appears to be unlimited to the
user.
• Measured service. Resource (e.g. storage, processing,
bandwidth, etc) monitored and reported.
29
5 Key Characteristics of Cloud Types of Cloud Service Models
• Software as a service (SaaS)
– Cloud provides application.
– Customer uses the application.
• Platform as a service (PaaS)
– Cloud provides programming lang., libraries,
services, tools.
– Customer creates their own applications.
30
6
Types of Cloud Service Models
• Infrastructure as a service (IaaS)
– Cloud provides processing, storage,
networks, and other fundamental computing
resources.
– Customer runs own software, including OS.
• Private Cloud (On-Premise)
31
Types of Cloud Service Models
32
Private
(On-Premise)
Storage
Server HW
Networking
Servers
Databases
Virtualization
Runtimes
Applications
Security &
Integration
Yo
u m
an
ag
e
Infrastructure
(as a Service)
Storage
Server HW
Networking
Servers
Databases
Virtualization
Runtimes
Applications
Security &
Integration M
an
ag
ed
by v
en
do
r
Yo
u m
an
ag
e
Yo
u m
an
ag
e
Platform
(as a Service)
Storage
Server HW
Networking
Servers
Databases
Virtualization
Runtimes
Applications
Security &
Integration Ma
na
ge
d b
y v
en
do
r
Software
(as a Service)
Storage
Server HW
Networking
Servers
Databases
Virtualization
Runtimes
Applications
Security &
Integration Ma
na
ge
d b
y v
en
do
r
View from Berkeley
• Applications delivered as services over the
Internet, and the hardware and systems
software in the datacenters that provide those
services.
• Services are referred to Software as a Service
• Datacenter hardware and software is known as
the cloud
• Service being sold is known as utility computing
33
New aspects from hardware perspective
• Appearance of infinite computing
resources. Planning less important
• Eliminate up-front commitment
• Pay-as-you-go, release resources when
not needed.
34
Why should you use the cloud?
• Question. If your company needs 500 servers in
the day (peak period) and 100 servers at night
(off-peak period). How many servers should you
buy?
• Average is 300 servers. What happens if we just
get 300?
Why should you used the cloud?
• Real world estimates of server utilization is 5% to 20%.
• Peak work load exceeds average factors by 2 to 10.
7
Why should you used the cloud?
• Animoto is a video sharing site
• When added Facebook, load increased from 50
servers to 3500 servers in 3 days
Is it cheaper?
Is it cheaper?
• Ignores operational cost, e.g. tech. support,
energy, physical facility management, etc.
• Medium is about 1000 servers. Very large is about 50,000 servers
• Statistical multiplexing allows hardware to be used by more users.
Private data center does not have this advantage.
Is it cheaper?
40
So everyone should use the cloud? So everyone should use the cloud?
8
Top 10 challenges (according to Berkeley)
1. Availability of service
• What happens when the cloud provider is down?
Top 10 challenges (according to Berkeley)
2. Data lock-in
• What happens when you need to get data out of
the cloud? E.g. Cloud provider raise prices, goes
bankrupt, etc.
• Cloud may use own data formats
• Compare with other types of utilities, e.g.
electricity, phone.
Top 10 challenges (according to Berkeley)
3. Data sensitivity and auditability
• Your data in the cloud is managed by the people
hired by the cloud. Why should you trust them?
• E.g. police database, government database
• Difficult to run audit on cloud facilities (sometimes
needed for compliance)
Top 10 challenges (according to Berkeley)
4. Data transfer bottleneck
• Want to transfer 10TB of data to cloud
• 20 Mbit/sec upload link. It would take
10 ∗ 1012 Bytes / (20 × 106 bits/second) =
4,000,000 seconds, which is >45 days, and cost
about $1000
• Use Fedex, send 10 1TB disk. About 1 day, cost
about $400
• What if all data is always stored into cloud?
Top 10 challenges (according to Berkeley)
5. Performance unpredictability
• Users share CPU, memory, IO, with other users
• Generally have no control over scheduling or hardware choices.
6. Scalable storage
• Scaling up CPUs is relatively easy compared to scaling up storage.
• How can users effectively utilize the data they have stored?
Top 10 challenges (according to Berkeley)
7. Bugs in large-scale distributed systems
• Difficult to catch bugs, sometimes bugs only
appear when scaling up
8. Scaling quickly
• Difficult to scale up or down based on load while
maintaining service level agreements (SLA)
9
Top 10 challenges (according to Berkeley)
9. Reputation fate sharing
• What happens when one user does something
bad, and leads to blacklisting of cloud provider’s
IP addresses?
10. Software licensing
• How will we bill the users?
• Use open source instead?
Amazon Web Services
Amazon Web Services Amazon Web Services
• Launched in 2002
• Run by Amazon.com
• Programmed in many languages, including
Java, Python, Ruby, and .NET
• Evolved from basic computing to add
commerce-based services, such as
payment and fulfillment
Google App Engine Google App Engine
• Released in 2008
• Primary languages are Python and Java
• Currently provides basic computing and
storage; a few more simple things. Can’t
imagine that won’t increase and evolve.
10
Microsoft Azure Microsoft Azure
• Launched in 2009
• Program in .NET
• Provides computation and storage services
• Allows access to underlying cloud system (“fabric”) for sophisticated tweaking
• I expect to see additional business services as well, perhaps provided by third parties
Why cloud computing now?
• New business models
• Shift from “high-touch, high-margin, high-
commitment” service to “low-touch, low-margin,
low-commitment” service
• Importance of data analytics
• More companies collect customer data. Need
computing power to analyze
• Popularity of mobile interactive applications
• Smartphones use applications that best live on
cloud
Déjà vu ?
• Before cloud
computing, we had
grid computing.
• Also provides
computing, storage,
data, applications, on
demand.
2) the exponentially growing data size in scientific instrumentation/simulation and Internet publishing and archiving; and 3) the wide-spread adoption of Services Computing and Web 2.0 applications.
1.2 Clouds, Grids, and Distributed Systems
Many discerning readers will immediately notice that our definition of Cloud Computing overlaps with many existing technologies, such as Grid Computing, Utility Computing, Services Computing, and distributed computing in general. We argue that Cloud Computing not only overlaps with Grid Computing, it is indeed evolved out of Grid Computing and relies on Grid Computing as its backbone and infrastructure support. The evolution has been a result of a shift in focus from an infrastructure that delivers storage and compute resources (such is the case in Grids) to one that is economy based aiming to deliver more abstract resources and services (such is the case in Clouds). As for Utility Computing, it is not a new paradigm of computing infrastructure; rather, it is a business model in which computing resources, such as computation and storage, are packaged as metered services similar to a physical public utility, such as electricity and public switched telephone network. Utility computing is typically implemented using other computing infrastructure (e.g. Grids) with additional accounting and monitoring services. A Cloud infrastructure can be utilized internally by a company or exposed to the public as utility computing.
See Figure 1 for an overview of the relationship between Clouds and other domains that it overlaps with. Web 2.0 covers almost the whole spectrum of service-oriented applications, where Cloud Computing lies at the large-scale side. Supercomputing and Cluster Computing have been more focused on traditional non-service applications. Grid Computing overlaps with all these fields where it is generally considered of lesser scale than supercomputers and Clouds.
Figure 1: Grids and Clouds Overview
Grid Computing aims to “enable resource sharing and coordinated problem solving in dynamic, multi-institutional virtual organizations” [18][20]. There are also a few key features to this definition: First of all, Grids provide a
distributed computing paradigm or infrastructure that spans across multiple virtual organizations (VO) where each VO can consist of either physically distributed institutions or logically related projects/groups. The goal of such a paradigm is to enable federated resource sharing in dynamic, distributed environments. The approach taken by the de facto standard implementation – The Globus Toolkit [16][23], is to build a uniform computing environment from diverse resources by defining standard network protocols and providing middleware to mediate access to a wide range of heterogeneous resources. Globus addresses various issues such as security, resource discovery, resource provisioning and management, job scheduling, monitoring, and data management.
Half a decade ago, Ian Foster gave a three point checklist [19] to help define what is, and what is not a Grid: 1) coordinates resources that are not subject to centralized control, 2) uses standard, open, general-purpose protocols and interfaces, and 3) delivers non-trivial qualities of service. Although point 3 holds true for Cloud Computing, neither point 1 nor point 2 is clear that it is the case for today’s Clouds. The vision for Clouds and Grids are similar, details and technologies used may differ, but the two communities are struggling with many of the same issues. This paper strives to compare and contrast Cloud Computing with Grid Computing from various angles and give insights into the essential characteristics of both, with the hope to paint a less cloudy picture of what Clouds are, what kind of applications can Clouds expect to support, and what challenges Clouds are likely to face in the coming years as they gain momentum and adoption. We hope this will help both communities gain deeper understanding of the goals, assumptions, status, and directions, and provide a more detailed view of both technologies to the general audience.
2 Comparing Grids and Clouds Side-by-Side
This section aims to compare Grids and Clouds across a wide variety of perspectives, from architecture, security model, business model, programming model, virtualization, data model, compute model, to provenance and applications. We also outline a number of challenges and opportunities that Grid Computing and Cloud Computing bring to researchers and the IT industry, most common to both, but some are specific to one or the other.
2.1 Business Model
Traditional business model for software has been a one-time payment for unlimited use (usually on 1 computer) of the software. In a cloud-based business model, a customer will pay the provider on a consumption basis, very much like the utility companies charge for basic utilities such as electricity, gas, and water, and the model relies on economies of scale in order to drive prices down for users and profits up for providers. Today, Amazon essentially provides a centralized Cloud consisting of Compute Cloud EC2 and Data Cloud S3. The former is charged based on per instance-hour consumed for each instance type and the later is charged by per GB-Month of storage used. In addition, data transfer is charged by TB / month data transfer, depending on the source and target of such transfer. The prospect of needing only a credit card to get on-demand access to 100,000+ processors in tens of data centers distributed throughout the world—resources that be
Grid computing
• A distributed computing paradigm that spans across
multiple virtual organizations (VO)
• A VO can consist of either physically distributed
institutions or logically related projects/groups.
• More popular in government research labs and
universities
• Target large-scale computation problems using a
network of resource-sharing commodity machines
• Because supercomputers and clusters were too
expensive
Grid computing
• Generally speaking, a grid computing has 3 characteristics
(1) Coordinates resources without centralized control
(2) Uses standard, open, general-purpose protocols and interfaces
(3) Delivers non-trivial qualities of service.
• Cloud computing usually does not have the first 2 characteristics
11
Other differences (generally speaking)
• Grid computing uses batch scheduling model.
– Submit a job with required resources (e.g. so
many CPU, etc) to scheduler.
– When resources available, scheduler will run
your job.
• Dedicated resources. Can give better QoS than
cloud computing.
– Good for scientific type applications. Not so
good for interactive type applications.
Other differences (generally speaking)
• Grid computing hardware is not centralized, but
belongs to individual entities.
– E.g. university that provides resources will
own those resources
– Cloud computing has dedicated data centers
operated by single entity.
Outline
• Syllabus and Overview
• Introduction to Cloud Computing
• Introduction to Mobile Computing
63 64
Introduction to Mobile Computing
• Evolution of cell phones
1985 ~ 2007
65
Introduction to Mobile Computing
• Smartphones (Hardware)
66
Introduction to Mobile Computing
• Smartphones (Hardware) 1GHz CPU
512M RAM
RF
Transceiver UMTS/3G, GPS
4~32G Storage
Wi-Fi, Bluetooth
Accelerometer
Multi-touch Screen
Light sensor
...
12
67
Introduction to Mobile Computing
• Smartphones (Software)
– iOS
• 725,000 apps
• 10 billion downloads in Jan 2011
• 25 billion downloads in March 2012
– Android
• 500,000 apps, 15 billion downloads (May 2012)
http://www.androlib.com/appstats.aspx
Consumer Research
68
Mobile Grows, Desktop Use Declines
% of U.S. Adults Who Own Each Type of Device
Consumer Research
• In 2011, 84% of adults have a cell phone.
• In 2000, 53% of adults owned a cell
phone.
• In 2011, ¼ of US households are cell only.
69
Major Platforms
70
35% of smartphone
owners / 15% of cell
owners
Young adults
(especially 18-24)
24% of smartphone
owners / 10% of cell
owners
College grads
HH income $75k
or more
24% of smartphone
owners / 10% of cell
owners
College grads
HH income $75k or
more
Employed full-time
Tablet and E-Reader Use is Growing
71
85%
57% 55%
43%38%
10% 9%
Cell Phone Laptop Desktop MP3 Player Game Console
Tablet Computer
e-Reader
Percent of US adults 18+ who own each type of gadget…
Based on Pew Internet Tracking Survey, 2010-2011
Tablet ownership rose
from 4% to 10%
between September
2010 and August 2011
2/3 Adults are Wireless Internet Users (2011)
72
13
How People Use Their Phones
73
% of adult cell owners who use their phone to…
Send/receive text messages 73%
Take a picture 73
Access the internet 44
Send a photo or video to someone 54
Send or receive email 76
Record a video 59
Access a social networking site 59
Watch a video 54
Post a photo or video online 45
Access Twitter 15
Apps
• Top 4 popular categories of apps (Nielson
data, June 2010)
74
Games (65%)
News/Weather (56%)
Maps/Navigation/Search (55%)
Social Networks (54%)
Apps Provide Connections to Information
75
35%
46%
53%
64%
74%
Get more info about an event you're attending
Help shop or make purchases
Get info about a destination you're visiting
Learn about something you're interested in
News, weather, sports or stocks updates
% of app downloaders who have downloaded each type of app…
Information is Location-Based
• 28% of cell owners use their phones to get directions or
recommendations based on their current location, but
only 5% use check-in services on their phone
• 1/3 of adults use mobile devices to check weather or to
find local restaurants or businesses
• 1/5 use mobile devices to get information about
local traffic or transportation
• 1/6 use mobile devices to get discounts/use coupons at
local stores 76
One word best describes your cell phone
• 72% of responses positive, 16% negative
77
Impact on People’s Life
• Mobile (and smartphones especially) changes the relationship
between information, time and space…
• 51% of cell owners use phone to get information they need right
away (smartphone owners: 79%)
• 42% use phone to entertainment themselves when bored
(smartphone owners: 72%) and 40% have been helped by phone in
an emergency situation
• 29% turn phone off occasionally just to get a break
• 13% have pretended to be using their phone to avoid interacting
with people around them
• 36% of smartphone owners have been frustrated by slow download
times, and 34% have had trouble doing something recently because
they didn’t have their phone
78
14
Tablet Users
• 77% use their tablet every day
• Users spend an average of 1 hour, 35 minutes
on their device daily
• 53% get news on their tablet daily
• Other common daily activities:
– Email (54%)
– Social Networks (39%)
– Games (30%)
– Read Books (17%)
– Watch Videos (13%)
79
History of Smartphone
• Jan. 2007, Steve Jobs unveils the iPhone, which he says is "a
revolutionary and magical product that is literally five years ahead of
any other mobile phone". Microsoft chief executive Steve Ballmer
calls it "the most expensive phone in the world".
80
History of Smartphone
• Jan. 2007, Steve Jobs unveils the iPhone, which he says is "a
revolutionary and magical product that is literally five years ahead of
any other mobile phone". Microsoft chief executive Steve Ballmer
calls it "the most expensive phone in the world".
• Apr. 2007, Gartner says that in the first three months of 2007
Microsoft's Windows Mobile had an 18% share of the smartphone
market (then totaling 17m handsets).
• Nov. 2007, Google announces it will offer the Android mobile
operating system for free. Anyone can use it and change it. Asked if
there will be a Google phone, head of Android, Andy Rubin, replies:
"There will be thousands of Google phones – some you like, some
you don't.“ Microsoft's Ballmer says "We'll have to see what Google
does. Right now they have a press release, we have many, many
millions of customers, great software, many hardware devices, and
they're welcome in our world!"
81
History of Smartphone
• Oct. 2008, Apple announces it sold 4.7m iPhones in the summer
quarter, giving it nearly 13% of the smartphone market. Research in
Motion had 15%.
• Nov. 2008, First Android phone, the G1, launches. It has a slide-out
keyboard and limited touchscreen capability.
• Dec. 2008, Microsoft decides to kill off Windows Mobile because it
can't compete with the iPhone and Android, and develop Windows
Phone – a completely new mobile operating system.
• Jan. 2010, Apple launches the iPad, a 10in tablet.
• Feb. 2010, Android phones with full touchscreen interaction like the
iPhone's appear.
• Apr. 2010, Google's Android gained just under 10% of the market in
the first three months of 2010, says Gartner.
82
History of Smartphone
• Oct. 2010, Microsoft's first phones running Windows Phone. Sales
are low. Mike Lazaridis, RIM's co-chief executive, shows off the
Playbook, a 7in tablet.
• Jan. 2011, Researchers Gartner and IDC announce that
smartphones outsold PCs worldwide in the last three months of
2010 – 100m as against 93m.
• Apr. 2011, Apple becomes the largest smartphone vendor by
numbers and revenue, selling 18.6m iPhones in the year's first
quarter. Android becomes the best-selling smartphone platform, with
a 36.6% share, ahead of Symbian's 27%. Apple sues Samsung in
the US over the appearance of the Galaxy Tab tablet, and follows it
up with a string of legal cases around the world claiming
infringement of patents and "trade dress".
• Nov. 2011, Android had more than 50% of the smartphone market in
the third quarter of 2011, says Gartner.
83
History of Smartphone
• Dec. 2011, RIM takes a $485m charge against an estimated 1.2m
unsold Playbooks sitting in its warehouses.
• Jan. 2012, Microsoft gets LG to pay undisclosed per-handset
royalties. Microsoft says it now has such agreements for 70% of
Android handsets sold in the US. Jim Balsillie and Mike Lazaridis
resign as co-CEOs and co-chairmen of RIM. Replaced by Thorsten
Heins and Barbara Stymiest, who have been with the company for
some years.
84