SlideShare a Scribd company logo
1 of 42
Download to read offline
Granular, Precached, & Under Budget
Alex Russell
Software Engineer
Reliable Performance Matters
Arrivals
Loading...
4The need for mobile speed
Loading...
How fast should mobile sites be?
People need mobile speed every day.
Imagine you’ve just landed at the airport in a new city for an important business meeting. Hurrying
through the terminal, you’re looking at your phone for a restaurant recommendation to take your client
to dinner. From baggage claim to the taxi line, only two pages load. What are you going to do?
Closing out slow-loading sites is something most people know well. The world’s fastest cars can go
from 0-60 in less than three seconds,4
but the majority of mobile sites don’t load that quickly.
Chapter 1
1 out of 2people
expect a page to load in
less than 2 seconds6
4. Autosaur, “Fastest Car In The World: The Ultimate Guide” March, 2016
5. Google Data, Aggregated, anonymized Google Analytics data from a sample of mWeb sites opted into sharing benchmark data, n=3.7K, Global, March 2016
6. Akamai Technologies, “Consumer Web Performance Expectations Survey”, 2014
53% of visits are
abandoned if a mobile
site takes more than three
seconds to load5
60%
goo.gl/fDkY1g
almost
of mobile is 2G
Internet users
goo.gl/YwybkJ
Came Online Last Year
goo.gl/YwybkJ
Not Yet Online
goo.gl/YwybkJ
!Respond: 100ms
!Animate: 8ms
!Idle work: 50ms chunks
!Load: 1000ms to interactive
mobile and desktop web usage
Appears in the Proceedings of the 38th
International Symposium on Computer Architecture (ISCA ’11)
Dark Silicon and the End of Multicore Scaling
Hadi Esmaeilzadeh†
Emily Blem‡
Renée St. Amant§
Karthikeyan Sankaralingam‡
Doug Burger⇧
†
University of Washington ‡
University of Wisconsin-Madison
§
The University of Texas at Austin ⇧
Microsoft Research
hadianeh@cs.washington.edu blem@cs.wisc.edu stamant@cs.utexas.edu karu@cs.wisc.edu dburger@microsoft.com
ABSTRACT
Since 2005, processor designers have increased core counts to ex-
ploit Moore’s Law scaling, rather than focusing on single-core per-
formance. The failure of Dennard scaling, to which the shift to mul-
ticore parts is partially a response, may soon limit multicore scaling
just as single-core scaling has been curtailed. This paper models
multicore scaling limits by combining device scaling, single-core
scaling, and multicore scaling to measure the speedup potential for
a set of parallel workloads for the next five technology generations.
For device scaling, we use both the ITRS projections and a set
of more conservative device scaling parameters. To model single-
core scaling, we combine measurements from over 150 processors
to derive Pareto-optimal frontiers for area/performance and pow-
er/performance. Finally, to model multicore scaling, we build a de-
tailed performance model of upper-bound performance and lower-
bound core power. The multicore designs we study include single-
threaded CPU-like and massively threaded GPU-like multicore chip
organizations with symmetric, asymmetric, dynamic, and composed
topologies. The study shows that regardless of chip organization
and topology, multicore scaling is power limited to a degree not
widely appreciated by the computing community. Even at 22 nm
(just one year from now), 21% of a fixed-size chip must be powered
o↵, and at 8 nm, this number grows to more than 50%. Through
2024, only 7.9⇥ average speedup is possible across commonly used
parallel workloads, leaving a nearly 24-fold gap from a target of
doubled performance per generation.
Categories and Subject Descriptors: C.0 [Computer Systems Or-
ganization] General — Modeling of computer architecture; C.0
[Computer Systems Organization] General — System architectures
General Terms: Design, Measurement, Performance
ture, and compiler advances, Moore’s Law, coupled with Dennard
scaling [11], has resulted in commensurate exponential performance
increases. The recent shift to multicore designs has aimed to in-
crease the number of cores along with transistor count increases,
and continue the proportional scaling of performance. As a re-
sult, architecture researchers have started focusing on 100-core and
1000-core chips and related research topics and called for changes
to the undergraduate curriculum to solve the parallel programming
challenge for multicore designs at these scales.
With the failure of Dennard scaling–and thus slowed supply volt-
age scaling–core count scaling may be in jeopardy, which would
leave the community with no clear scaling path to exploit contin-
ued transistor count increases. Since future designs will be power
limited, higher core counts must provide performance gains despite
the worsening energy and speed scaling of transistors, and given
the available parallelism in applications. By studying these charac-
teristics together, it is possible to predict for how many additional
technology generations multicore scaling will provide a clear ben-
efit. Since the energy e ciency of devices is not scaling along with
integration capacity, and since few applications (even from emerg-
ing domains such as recognition, mining, and synthesis [5]) have
parallelism levels that can e ciently use a 100-core or 1000-core
chip, it is critical to understand how good multicore performance
will be in the long term. In 2024, will processors have 32 times the
performance of processors from 2008, exploiting five generations
of core doubling?
Such a study must consider devices, core microarchitectures,
chip organizations, and benchmark characteristics, applying area
and power limits at each technology node. This paper consid-
ers all those factors together, projecting upper-bound performance
achievable through multicore scaling, and measuring the e↵ects of
28nm, FML
medium.com/reloading/javascript-start-up-performance-69200f43b201
mobile.httparchive.org/trends.php?s=Top1000
twitter.com/notwaldorf/status/778248810371747840
Nexus 5X
SOC, Memory,
Radio
CPU is UNDERNEATH 

the memory module
Nexus 5X
App bundling
App
Bundle
https://shop/list/ladies_outerwear
Shop - List
Ladies Outerwear
Server
Per-route bundling
https://shop/list/ladies_outerwear
Shop - List
Ladies Outerwear
Server
list
button
tabs
Optimal /list
bundle
https://shop/cart
Shop - Cart
Per-route bundling
Server
list
button
icon-button
Shopping Cart
Optimal /cart
bundle
Per-route bundling
list
button
icon-button
Optimal /cart
bundle
list
button
tabs
Optimal /list
bundle
Duplicated
modules
Browser Server
All subresources can
be fetched in parallel
RESPONSE
GET: index.html
GET: subresources
RESPONSE
HTTP/2
RESPONSE
GET: index.html
Browser Server
GET: subresources
RESPONSE
Transitive dependencies
discovered & requested
RESPONSE
GET: subresources
HTTP/2
GET: index.html
Browser Server
RESPONSE
Transitive dependencies
preemptively pushed
HTTP/2 + Server Push
Response Headers:
content-encoding:
content-length:
content-type:
link:
…
gzip
385
text/html
</shop-app.html>;rel=preload;as=document,
</iron-pages.html>;rel=preload;as=document,
</list-view.html>;rel=preload;as=document,
</detail-view.html>;rel=preload;as=document,
</cart-view.html>;rel=preload;as=document,
</polymer.html>;rel=preload;as=document
method:
path:
scheme:
accept:
…
GET
/index.html
https
text/html
…
HTTP Request Headers
HTTP Response Headers
<link rel=“import” href=“polymer.html”>
<link rel=“import” href=“iron-pages.html”>
<link rel=“import” href=“list-view.html”>
<link rel=“import” href=“detail-view.html”>
<link rel=“import” href=“cart-view.html”>
<link rel=“import” href=“shop-app.html”>
index.html
<!doctype html>
<html>
<head>
<link rel=“import” href=“shop-app.html”>
</head>
<body>
<shop-app></shop-app>
</body>
</html>
my-app.html
<link rel=“import” href=“iron-pages.html”>
<link rel=“import” href=“list-view.html”>
<link rel=“import” href=“detail-view.html”>
<link rel=“import” href=“cart-view.html”>
<template>
<iron-pages>
<list-view></list-view>
<detail-view></detail-view>
<cart-view></cart-view>
</iron-pages>
</template>
iron-pages.html
<link rel=“import” href=“polymer.html”>
<template>
list-view.html
<link rel=“import” href=“polymer.html”>
<template>
detail-view.html
<link rel=“import” href=“polymer.html”>
<template>
cart-view.html
<link rel=“import” href=“polymer.html”>
<template>
<header>
<h1>[[category.title]]</h1>
<span>[[_getPluralizedQuantity(category.
</header>
<div class="grid">
<template is="dom-repeat" items="[[_ge
<a href$="[[_getItemHref(item)]]">
<list-item item=“[[item]]"></list-list-item>
</a>
<link rel=“import” href=“iron-pages.html”>
<link rel=“import” href=“list-view.html”>
<link rel=“import” href=“detail-view.html”>
<link rel=“import” href=“cart-view.html”>
<link rel=“import” href=“shop-app.html”>
<link rel=“import” href=“polymer.html”>
Response Headers:
link: </shop-app.html>;rel=preload;as=document,
</iron-pages.html>;rel=preload;as=document,
</list-view.html>;rel=preload;as=document,
</detail-view.html>;rel=preload;as=document,
</cart-view.html>;rel=preload;as=document,
</polymer.html>;rel=preload;as=document
tabs
button
list
…
Cold cache:
Only load code
critical for /list route
icon-buttonicon
headerdrawer
1. Push components for initial route
https://shop/list
2. Render initial route asap
https://shop/list
3. Pre-cache remaining components
…
…
Code for secondary
routes pre-cached
lazily
https://shop/list
4. Lazy load & create secondary route
https://shop/cart
Push
Render
Pre-cache
Lazy-load
resources for initial route
the initial route asap
code for remaining routes
& create next routes on-demand
The PRPL Pattern
Ok, So What’s New?
Automated Code 

Splitting!
Thank You!
+AlexRussell
@slightlylate
Altitude SF 2017: Granular, Precached, & Under Budget

More Related Content

What's hot

Web Performance - Learnings from Velocity Conference
Web Performance - Learnings from Velocity ConferenceWeb Performance - Learnings from Velocity Conference
Web Performance - Learnings from Velocity ConferenceHardik Shah
 
Building a better web
Building a better webBuilding a better web
Building a better webFastly
 
Benchmarking NGINX for Accuracy and Results
Benchmarking NGINX for Accuracy and ResultsBenchmarking NGINX for Accuracy and Results
Benchmarking NGINX for Accuracy and ResultsNGINX, Inc.
 
Altitude San Francisco 2018: HTTP Invalidation Workshop
Altitude San Francisco 2018: HTTP Invalidation WorkshopAltitude San Francisco 2018: HTTP Invalidation Workshop
Altitude San Francisco 2018: HTTP Invalidation WorkshopFastly
 
Getting Started with Web Services
Getting Started with Web ServicesGetting Started with Web Services
Getting Started with Web ServicesDataNext Solutions
 
Rest services caching
Rest services cachingRest services caching
Rest services cachingSperasoft
 
Webinar: Architecting Secure and Compliant Applications with MongoDB
Webinar: Architecting Secure and Compliant Applications with MongoDBWebinar: Architecting Secure and Compliant Applications with MongoDB
Webinar: Architecting Secure and Compliant Applications with MongoDBMongoDB
 
Scaling wix with microservices and multi cloud - 2015
Scaling wix with microservices and multi cloud - 2015Scaling wix with microservices and multi cloud - 2015
Scaling wix with microservices and multi cloud - 2015Aviran Mordo
 
(WEB203) Building a Website That Costs Pennies to Operate | AWS re:Invent 2014
(WEB203) Building a Website That Costs Pennies to Operate | AWS re:Invent 2014(WEB203) Building a Website That Costs Pennies to Operate | AWS re:Invent 2014
(WEB203) Building a Website That Costs Pennies to Operate | AWS re:Invent 2014Amazon Web Services
 
Why Wordnik went non-relational
Why Wordnik went non-relationalWhy Wordnik went non-relational
Why Wordnik went non-relationalTony Tam
 
AtlasCamp 2014: Building a Connect Add-on With Your Own Stack
AtlasCamp 2014: Building a Connect Add-on With Your Own StackAtlasCamp 2014: Building a Connect Add-on With Your Own Stack
AtlasCamp 2014: Building a Connect Add-on With Your Own StackAtlassian
 
MongoDB .local Bengaluru 2019: Using MongoDB Services in Kubernetes: Any Plat...
MongoDB .local Bengaluru 2019: Using MongoDB Services in Kubernetes: Any Plat...MongoDB .local Bengaluru 2019: Using MongoDB Services in Kubernetes: Any Plat...
MongoDB .local Bengaluru 2019: Using MongoDB Services in Kubernetes: Any Plat...MongoDB
 
Web api scalability and performance
Web api scalability and performanceWeb api scalability and performance
Web api scalability and performanceHimanshu Desai
 
AtlasCamp 2014: Static Connect Add-ons
AtlasCamp 2014: Static Connect Add-onsAtlasCamp 2014: Static Connect Add-ons
AtlasCamp 2014: Static Connect Add-onsAtlassian
 
Engineering an Encrypted Storage Engine
Engineering an Encrypted Storage EngineEngineering an Encrypted Storage Engine
Engineering an Encrypted Storage EngineMongoDB
 
Optimising Web Application Frontend
Optimising Web Application FrontendOptimising Web Application Frontend
Optimising Web Application Frontendtkramar
 
Level Up: 5 Expert Tips for Optimizing WordPress Performance
Level Up: 5 Expert Tips for Optimizing WordPress PerformanceLevel Up: 5 Expert Tips for Optimizing WordPress Performance
Level Up: 5 Expert Tips for Optimizing WordPress PerformancePantheon
 

What's hot (20)

Web Performance - Learnings from Velocity Conference
Web Performance - Learnings from Velocity ConferenceWeb Performance - Learnings from Velocity Conference
Web Performance - Learnings from Velocity Conference
 
Building a better web
Building a better webBuilding a better web
Building a better web
 
Benchmarking NGINX for Accuracy and Results
Benchmarking NGINX for Accuracy and ResultsBenchmarking NGINX for Accuracy and Results
Benchmarking NGINX for Accuracy and Results
 
Altitude San Francisco 2018: HTTP Invalidation Workshop
Altitude San Francisco 2018: HTTP Invalidation WorkshopAltitude San Francisco 2018: HTTP Invalidation Workshop
Altitude San Francisco 2018: HTTP Invalidation Workshop
 
Getting Started with Web Services
Getting Started with Web ServicesGetting Started with Web Services
Getting Started with Web Services
 
Rest services caching
Rest services cachingRest services caching
Rest services caching
 
Webinar: Architecting Secure and Compliant Applications with MongoDB
Webinar: Architecting Secure and Compliant Applications with MongoDBWebinar: Architecting Secure and Compliant Applications with MongoDB
Webinar: Architecting Secure and Compliant Applications with MongoDB
 
Unsafe SSL webinar
Unsafe SSL webinarUnsafe SSL webinar
Unsafe SSL webinar
 
Scaling wix with microservices and multi cloud - 2015
Scaling wix with microservices and multi cloud - 2015Scaling wix with microservices and multi cloud - 2015
Scaling wix with microservices and multi cloud - 2015
 
(WEB203) Building a Website That Costs Pennies to Operate | AWS re:Invent 2014
(WEB203) Building a Website That Costs Pennies to Operate | AWS re:Invent 2014(WEB203) Building a Website That Costs Pennies to Operate | AWS re:Invent 2014
(WEB203) Building a Website That Costs Pennies to Operate | AWS re:Invent 2014
 
Why Wordnik went non-relational
Why Wordnik went non-relationalWhy Wordnik went non-relational
Why Wordnik went non-relational
 
AtlasCamp 2014: Building a Connect Add-on With Your Own Stack
AtlasCamp 2014: Building a Connect Add-on With Your Own StackAtlasCamp 2014: Building a Connect Add-on With Your Own Stack
AtlasCamp 2014: Building a Connect Add-on With Your Own Stack
 
MongoDB .local Bengaluru 2019: Using MongoDB Services in Kubernetes: Any Plat...
MongoDB .local Bengaluru 2019: Using MongoDB Services in Kubernetes: Any Plat...MongoDB .local Bengaluru 2019: Using MongoDB Services in Kubernetes: Any Plat...
MongoDB .local Bengaluru 2019: Using MongoDB Services in Kubernetes: Any Plat...
 
Web api scalability and performance
Web api scalability and performanceWeb api scalability and performance
Web api scalability and performance
 
Wongnai Engineering Story
Wongnai Engineering StoryWongnai Engineering Story
Wongnai Engineering Story
 
AtlasCamp 2014: Static Connect Add-ons
AtlasCamp 2014: Static Connect Add-onsAtlasCamp 2014: Static Connect Add-ons
AtlasCamp 2014: Static Connect Add-ons
 
Infra for startup
Infra for startupInfra for startup
Infra for startup
 
Engineering an Encrypted Storage Engine
Engineering an Encrypted Storage EngineEngineering an Encrypted Storage Engine
Engineering an Encrypted Storage Engine
 
Optimising Web Application Frontend
Optimising Web Application FrontendOptimising Web Application Frontend
Optimising Web Application Frontend
 
Level Up: 5 Expert Tips for Optimizing WordPress Performance
Level Up: 5 Expert Tips for Optimizing WordPress PerformanceLevel Up: 5 Expert Tips for Optimizing WordPress Performance
Level Up: 5 Expert Tips for Optimizing WordPress Performance
 

Similar to Altitude SF 2017: Granular, Precached, & Under Budget

Dark silicon and the end of multicore scaling
Dark silicon and the end of multicore scalingDark silicon and the end of multicore scaling
Dark silicon and the end of multicore scalingLéia de Sousa
 
Performance and Energy evaluation
Performance and Energy evaluationPerformance and Energy evaluation
Performance and Energy evaluationGIORGOS STAMELOS
 
Fast and energy-efficient eNVM based memory organisation at L3-L1 layers for ...
Fast and energy-efficient eNVM based memory organisation at L3-L1 layers for ...Fast and energy-efficient eNVM based memory organisation at L3-L1 layers for ...
Fast and energy-efficient eNVM based memory organisation at L3-L1 layers for ...Facultad de Informática UCM
 
IEEE Emerging topic in computing Title and Abstract 2016
IEEE Emerging topic in computing Title and Abstract 2016 IEEE Emerging topic in computing Title and Abstract 2016
IEEE Emerging topic in computing Title and Abstract 2016 tsysglobalsolutions
 
STUDY OF VARIOUS FACTORS AFFECTING PERFORMANCE OF MULTI-CORE PROCESSORS
STUDY OF VARIOUS FACTORS AFFECTING PERFORMANCE OF MULTI-CORE PROCESSORSSTUDY OF VARIOUS FACTORS AFFECTING PERFORMANCE OF MULTI-CORE PROCESSORS
STUDY OF VARIOUS FACTORS AFFECTING PERFORMANCE OF MULTI-CORE PROCESSORSijdpsjournal
 
An octa core processor with shared memory and message-passing
An octa core processor with shared memory and message-passingAn octa core processor with shared memory and message-passing
An octa core processor with shared memory and message-passingeSAT Journals
 
Data Structures in the Multicore Age : Notes
Data Structures in the Multicore Age : NotesData Structures in the Multicore Age : Notes
Data Structures in the Multicore Age : NotesSubhajit Sahu
 
Low power network on chip architectures: A survey
Low power network on chip architectures: A surveyLow power network on chip architectures: A survey
Low power network on chip architectures: A surveyCSITiaesprime
 
A survey paper on an improved scheduling algorithm for task offloading on cloud
A survey paper on an improved scheduling algorithm for task offloading on cloudA survey paper on an improved scheduling algorithm for task offloading on cloud
A survey paper on an improved scheduling algorithm for task offloading on cloudAditya Tornekar
 
CC LECTURE NOTES (1).pdf
CC LECTURE NOTES (1).pdfCC LECTURE NOTES (1).pdf
CC LECTURE NOTES (1).pdfHasanAfwaaz1
 
IEEE 2014 JAVA CLOUD COMPUTING PROJECTS Optimal power allocation and load dis...
IEEE 2014 JAVA CLOUD COMPUTING PROJECTS Optimal power allocation and load dis...IEEE 2014 JAVA CLOUD COMPUTING PROJECTS Optimal power allocation and load dis...
IEEE 2014 JAVA CLOUD COMPUTING PROJECTS Optimal power allocation and load dis...IEEEGLOBALSOFTSTUDENTPROJECTS
 
2014 IEEE JAVA CLOUD COMPUTING PROJECT Optimal power allocation and load dist...
2014 IEEE JAVA CLOUD COMPUTING PROJECT Optimal power allocation and load dist...2014 IEEE JAVA CLOUD COMPUTING PROJECT Optimal power allocation and load dist...
2014 IEEE JAVA CLOUD COMPUTING PROJECT Optimal power allocation and load dist...IEEEFINALYEARSTUDENTPROJECT
 
Michael Gschwind, Cell Broadband Engine: Exploiting multiple levels of parall...
Michael Gschwind, Cell Broadband Engine: Exploiting multiple levels of parall...Michael Gschwind, Cell Broadband Engine: Exploiting multiple levels of parall...
Michael Gschwind, Cell Broadband Engine: Exploiting multiple levels of parall...Michael Gschwind
 
2023comp90024_Spartan.pdf
2023comp90024_Spartan.pdf2023comp90024_Spartan.pdf
2023comp90024_Spartan.pdfLevLafayette1
 
% Razones para alta disponibilidad
% Razones para alta disponibilidad% Razones para alta disponibilidad
% Razones para alta disponibilidadCPVEN
 
Hardback solution to accelerate multimedia computation through mgp in cmp
Hardback solution to accelerate multimedia computation through mgp in cmpHardback solution to accelerate multimedia computation through mgp in cmp
Hardback solution to accelerate multimedia computation through mgp in cmpeSAT Publishing House
 
Disadvantages Of Robotium
Disadvantages Of RobotiumDisadvantages Of Robotium
Disadvantages Of RobotiumSusan Tullis
 
sumerian_datacenter-consolidation-white_paper
sumerian_datacenter-consolidation-white_papersumerian_datacenter-consolidation-white_paper
sumerian_datacenter-consolidation-white_paperKelly Moscrop
 

Similar to Altitude SF 2017: Granular, Precached, & Under Budget (20)

Dark silicon and the end of multicore scaling
Dark silicon and the end of multicore scalingDark silicon and the end of multicore scaling
Dark silicon and the end of multicore scaling
 
Performance and Energy evaluation
Performance and Energy evaluationPerformance and Energy evaluation
Performance and Energy evaluation
 
Fast and energy-efficient eNVM based memory organisation at L3-L1 layers for ...
Fast and energy-efficient eNVM based memory organisation at L3-L1 layers for ...Fast and energy-efficient eNVM based memory organisation at L3-L1 layers for ...
Fast and energy-efficient eNVM based memory organisation at L3-L1 layers for ...
 
Priorities Shift In IC Design
Priorities Shift In IC DesignPriorities Shift In IC Design
Priorities Shift In IC Design
 
IEEE Emerging topic in computing Title and Abstract 2016
IEEE Emerging topic in computing Title and Abstract 2016 IEEE Emerging topic in computing Title and Abstract 2016
IEEE Emerging topic in computing Title and Abstract 2016
 
STUDY OF VARIOUS FACTORS AFFECTING PERFORMANCE OF MULTI-CORE PROCESSORS
STUDY OF VARIOUS FACTORS AFFECTING PERFORMANCE OF MULTI-CORE PROCESSORSSTUDY OF VARIOUS FACTORS AFFECTING PERFORMANCE OF MULTI-CORE PROCESSORS
STUDY OF VARIOUS FACTORS AFFECTING PERFORMANCE OF MULTI-CORE PROCESSORS
 
An octa core processor with shared memory and message-passing
An octa core processor with shared memory and message-passingAn octa core processor with shared memory and message-passing
An octa core processor with shared memory and message-passing
 
Data Structures in the Multicore Age : Notes
Data Structures in the Multicore Age : NotesData Structures in the Multicore Age : Notes
Data Structures in the Multicore Age : Notes
 
Low power network on chip architectures: A survey
Low power network on chip architectures: A surveyLow power network on chip architectures: A survey
Low power network on chip architectures: A survey
 
A survey paper on an improved scheduling algorithm for task offloading on cloud
A survey paper on an improved scheduling algorithm for task offloading on cloudA survey paper on an improved scheduling algorithm for task offloading on cloud
A survey paper on an improved scheduling algorithm for task offloading on cloud
 
CC LECTURE NOTES (1).pdf
CC LECTURE NOTES (1).pdfCC LECTURE NOTES (1).pdf
CC LECTURE NOTES (1).pdf
 
Isometric Making Essay
Isometric Making EssayIsometric Making Essay
Isometric Making Essay
 
IEEE 2014 JAVA CLOUD COMPUTING PROJECTS Optimal power allocation and load dis...
IEEE 2014 JAVA CLOUD COMPUTING PROJECTS Optimal power allocation and load dis...IEEE 2014 JAVA CLOUD COMPUTING PROJECTS Optimal power allocation and load dis...
IEEE 2014 JAVA CLOUD COMPUTING PROJECTS Optimal power allocation and load dis...
 
2014 IEEE JAVA CLOUD COMPUTING PROJECT Optimal power allocation and load dist...
2014 IEEE JAVA CLOUD COMPUTING PROJECT Optimal power allocation and load dist...2014 IEEE JAVA CLOUD COMPUTING PROJECT Optimal power allocation and load dist...
2014 IEEE JAVA CLOUD COMPUTING PROJECT Optimal power allocation and load dist...
 
Michael Gschwind, Cell Broadband Engine: Exploiting multiple levels of parall...
Michael Gschwind, Cell Broadband Engine: Exploiting multiple levels of parall...Michael Gschwind, Cell Broadband Engine: Exploiting multiple levels of parall...
Michael Gschwind, Cell Broadband Engine: Exploiting multiple levels of parall...
 
2023comp90024_Spartan.pdf
2023comp90024_Spartan.pdf2023comp90024_Spartan.pdf
2023comp90024_Spartan.pdf
 
% Razones para alta disponibilidad
% Razones para alta disponibilidad% Razones para alta disponibilidad
% Razones para alta disponibilidad
 
Hardback solution to accelerate multimedia computation through mgp in cmp
Hardback solution to accelerate multimedia computation through mgp in cmpHardback solution to accelerate multimedia computation through mgp in cmp
Hardback solution to accelerate multimedia computation through mgp in cmp
 
Disadvantages Of Robotium
Disadvantages Of RobotiumDisadvantages Of Robotium
Disadvantages Of Robotium
 
sumerian_datacenter-consolidation-white_paper
sumerian_datacenter-consolidation-white_papersumerian_datacenter-consolidation-white_paper
sumerian_datacenter-consolidation-white_paper
 

More from Fastly

Revisiting HTTP/2
Revisiting HTTP/2Revisiting HTTP/2
Revisiting HTTP/2Fastly
 
Altitude San Francisco 2018: Preparing for Video Streaming Events at Scale
Altitude San Francisco 2018: Preparing for Video Streaming Events at ScaleAltitude San Francisco 2018: Preparing for Video Streaming Events at Scale
Altitude San Francisco 2018: Preparing for Video Streaming Events at ScaleFastly
 
Altitude San Francisco 2018: Building the Souther Hemisphere of the Internet
Altitude San Francisco 2018: Building the Souther Hemisphere of the InternetAltitude San Francisco 2018: Building the Souther Hemisphere of the Internet
Altitude San Francisco 2018: Building the Souther Hemisphere of the InternetFastly
 
Altitude San Francisco 2018: The World Cup Stream
Altitude San Francisco 2018: The World Cup StreamAltitude San Francisco 2018: The World Cup Stream
Altitude San Francisco 2018: The World Cup StreamFastly
 
Altitude San Francisco 2018: We Own Our Destiny
Altitude San Francisco 2018: We Own Our DestinyAltitude San Francisco 2018: We Own Our Destiny
Altitude San Francisco 2018: We Own Our DestinyFastly
 
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...Fastly
 
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless Migration
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless MigrationAltitude San Francisco 2018: Moving Off the Monolith: A Seamless Migration
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless MigrationFastly
 
Altitude San Francisco 2018: Bringing TLS to GitHub Pages
Altitude San Francisco 2018: Bringing TLS to GitHub PagesAltitude San Francisco 2018: Bringing TLS to GitHub Pages
Altitude San Francisco 2018: Bringing TLS to GitHub PagesFastly
 
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and WoeAltitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and WoeFastly
 
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...Fastly
 
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per day
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per dayAltitude San Francisco 2018: Scaling Ethereum to 10B requests per day
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per dayFastly
 
Altitude San Francisco 2018: Authentication at the Edge
Altitude San Francisco 2018: Authentication at the EdgeAltitude San Francisco 2018: Authentication at the Edge
Altitude San Francisco 2018: Authentication at the EdgeFastly
 
Altitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & ApplicationsAltitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & ApplicationsFastly
 
Altitude San Francisco 2018: Testing with Fastly Workshop
Altitude San Francisco 2018: Testing with Fastly WorkshopAltitude San Francisco 2018: Testing with Fastly Workshop
Altitude San Francisco 2018: Testing with Fastly WorkshopFastly
 
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORK
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORKAltitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORK
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORKFastly
 
Altitude San Francisco 2018: WAF Workshop
Altitude San Francisco 2018: WAF WorkshopAltitude San Francisco 2018: WAF Workshop
Altitude San Francisco 2018: WAF WorkshopFastly
 
Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge Fastly
 
Altitude San Francisco 2018: Video Workshop Docs
Altitude San Francisco 2018: Video Workshop DocsAltitude San Francisco 2018: Video Workshop Docs
Altitude San Francisco 2018: Video Workshop DocsFastly
 
Altitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the EdgeAltitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the EdgeFastly
 
Enabling lightning fast content delivery for Spotify
Enabling lightning fast content delivery for SpotifyEnabling lightning fast content delivery for Spotify
Enabling lightning fast content delivery for SpotifyFastly
 

More from Fastly (20)

Revisiting HTTP/2
Revisiting HTTP/2Revisiting HTTP/2
Revisiting HTTP/2
 
Altitude San Francisco 2018: Preparing for Video Streaming Events at Scale
Altitude San Francisco 2018: Preparing for Video Streaming Events at ScaleAltitude San Francisco 2018: Preparing for Video Streaming Events at Scale
Altitude San Francisco 2018: Preparing for Video Streaming Events at Scale
 
Altitude San Francisco 2018: Building the Souther Hemisphere of the Internet
Altitude San Francisco 2018: Building the Souther Hemisphere of the InternetAltitude San Francisco 2018: Building the Souther Hemisphere of the Internet
Altitude San Francisco 2018: Building the Souther Hemisphere of the Internet
 
Altitude San Francisco 2018: The World Cup Stream
Altitude San Francisco 2018: The World Cup StreamAltitude San Francisco 2018: The World Cup Stream
Altitude San Francisco 2018: The World Cup Stream
 
Altitude San Francisco 2018: We Own Our Destiny
Altitude San Francisco 2018: We Own Our DestinyAltitude San Francisco 2018: We Own Our Destiny
Altitude San Francisco 2018: We Own Our Destiny
 
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...
 
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless Migration
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless MigrationAltitude San Francisco 2018: Moving Off the Monolith: A Seamless Migration
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless Migration
 
Altitude San Francisco 2018: Bringing TLS to GitHub Pages
Altitude San Francisco 2018: Bringing TLS to GitHub PagesAltitude San Francisco 2018: Bringing TLS to GitHub Pages
Altitude San Francisco 2018: Bringing TLS to GitHub Pages
 
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and WoeAltitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
 
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
 
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per day
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per dayAltitude San Francisco 2018: Scaling Ethereum to 10B requests per day
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per day
 
Altitude San Francisco 2018: Authentication at the Edge
Altitude San Francisco 2018: Authentication at the EdgeAltitude San Francisco 2018: Authentication at the Edge
Altitude San Francisco 2018: Authentication at the Edge
 
Altitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & ApplicationsAltitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & Applications
 
Altitude San Francisco 2018: Testing with Fastly Workshop
Altitude San Francisco 2018: Testing with Fastly WorkshopAltitude San Francisco 2018: Testing with Fastly Workshop
Altitude San Francisco 2018: Testing with Fastly Workshop
 
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORK
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORKAltitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORK
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORK
 
Altitude San Francisco 2018: WAF Workshop
Altitude San Francisco 2018: WAF WorkshopAltitude San Francisco 2018: WAF Workshop
Altitude San Francisco 2018: WAF Workshop
 
Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge
 
Altitude San Francisco 2018: Video Workshop Docs
Altitude San Francisco 2018: Video Workshop DocsAltitude San Francisco 2018: Video Workshop Docs
Altitude San Francisco 2018: Video Workshop Docs
 
Altitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the EdgeAltitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the Edge
 
Enabling lightning fast content delivery for Spotify
Enabling lightning fast content delivery for SpotifyEnabling lightning fast content delivery for Spotify
Enabling lightning fast content delivery for Spotify
 

Recently uploaded

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Recently uploaded (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Altitude SF 2017: Granular, Precached, & Under Budget

  • 1. Granular, Precached, & Under Budget Alex Russell Software Engineer
  • 3. Arrivals Loading... 4The need for mobile speed Loading... How fast should mobile sites be? People need mobile speed every day. Imagine you’ve just landed at the airport in a new city for an important business meeting. Hurrying through the terminal, you’re looking at your phone for a restaurant recommendation to take your client to dinner. From baggage claim to the taxi line, only two pages load. What are you going to do? Closing out slow-loading sites is something most people know well. The world’s fastest cars can go from 0-60 in less than three seconds,4 but the majority of mobile sites don’t load that quickly. Chapter 1 1 out of 2people expect a page to load in less than 2 seconds6 4. Autosaur, “Fastest Car In The World: The Ultimate Guide” March, 2016 5. Google Data, Aggregated, anonymized Google Analytics data from a sample of mWeb sites opted into sharing benchmark data, n=3.7K, Global, March 2016 6. Akamai Technologies, “Consumer Web Performance Expectations Survey”, 2014 53% of visits are abandoned if a mobile site takes more than three seconds to load5
  • 6. Came Online Last Year goo.gl/YwybkJ
  • 8. !Respond: 100ms !Animate: 8ms !Idle work: 50ms chunks !Load: 1000ms to interactive
  • 9. mobile and desktop web usage
  • 10. Appears in the Proceedings of the 38th International Symposium on Computer Architecture (ISCA ’11) Dark Silicon and the End of Multicore Scaling Hadi Esmaeilzadeh† Emily Blem‡ Renée St. Amant§ Karthikeyan Sankaralingam‡ Doug Burger⇧ † University of Washington ‡ University of Wisconsin-Madison § The University of Texas at Austin ⇧ Microsoft Research hadianeh@cs.washington.edu blem@cs.wisc.edu stamant@cs.utexas.edu karu@cs.wisc.edu dburger@microsoft.com ABSTRACT Since 2005, processor designers have increased core counts to ex- ploit Moore’s Law scaling, rather than focusing on single-core per- formance. The failure of Dennard scaling, to which the shift to mul- ticore parts is partially a response, may soon limit multicore scaling just as single-core scaling has been curtailed. This paper models multicore scaling limits by combining device scaling, single-core scaling, and multicore scaling to measure the speedup potential for a set of parallel workloads for the next five technology generations. For device scaling, we use both the ITRS projections and a set of more conservative device scaling parameters. To model single- core scaling, we combine measurements from over 150 processors to derive Pareto-optimal frontiers for area/performance and pow- er/performance. Finally, to model multicore scaling, we build a de- tailed performance model of upper-bound performance and lower- bound core power. The multicore designs we study include single- threaded CPU-like and massively threaded GPU-like multicore chip organizations with symmetric, asymmetric, dynamic, and composed topologies. The study shows that regardless of chip organization and topology, multicore scaling is power limited to a degree not widely appreciated by the computing community. Even at 22 nm (just one year from now), 21% of a fixed-size chip must be powered o↵, and at 8 nm, this number grows to more than 50%. Through 2024, only 7.9⇥ average speedup is possible across commonly used parallel workloads, leaving a nearly 24-fold gap from a target of doubled performance per generation. Categories and Subject Descriptors: C.0 [Computer Systems Or- ganization] General — Modeling of computer architecture; C.0 [Computer Systems Organization] General — System architectures General Terms: Design, Measurement, Performance ture, and compiler advances, Moore’s Law, coupled with Dennard scaling [11], has resulted in commensurate exponential performance increases. The recent shift to multicore designs has aimed to in- crease the number of cores along with transistor count increases, and continue the proportional scaling of performance. As a re- sult, architecture researchers have started focusing on 100-core and 1000-core chips and related research topics and called for changes to the undergraduate curriculum to solve the parallel programming challenge for multicore designs at these scales. With the failure of Dennard scaling–and thus slowed supply volt- age scaling–core count scaling may be in jeopardy, which would leave the community with no clear scaling path to exploit contin- ued transistor count increases. Since future designs will be power limited, higher core counts must provide performance gains despite the worsening energy and speed scaling of transistors, and given the available parallelism in applications. By studying these charac- teristics together, it is possible to predict for how many additional technology generations multicore scaling will provide a clear ben- efit. Since the energy e ciency of devices is not scaling along with integration capacity, and since few applications (even from emerg- ing domains such as recognition, mining, and synthesis [5]) have parallelism levels that can e ciently use a 100-core or 1000-core chip, it is critical to understand how good multicore performance will be in the long term. In 2024, will processors have 32 times the performance of processors from 2008, exploiting five generations of core doubling? Such a study must consider devices, core microarchitectures, chip organizations, and benchmark characteristics, applying area and power limits at each technology node. This paper consid- ers all those factors together, projecting upper-bound performance achievable through multicore scaling, and measuring the e↵ects of
  • 13.
  • 15.
  • 16.
  • 17.
  • 18.
  • 21. CPU is UNDERNEATH 
 the memory module Nexus 5X
  • 23. Per-route bundling https://shop/list/ladies_outerwear Shop - List Ladies Outerwear Server list button tabs Optimal /list bundle
  • 24. https://shop/cart Shop - Cart Per-route bundling Server list button icon-button Shopping Cart Optimal /cart bundle
  • 26. Browser Server All subresources can be fetched in parallel RESPONSE GET: index.html GET: subresources RESPONSE HTTP/2
  • 27. RESPONSE GET: index.html Browser Server GET: subresources RESPONSE Transitive dependencies discovered & requested RESPONSE GET: subresources HTTP/2
  • 28. GET: index.html Browser Server RESPONSE Transitive dependencies preemptively pushed HTTP/2 + Server Push
  • 30. <link rel=“import” href=“polymer.html”> <link rel=“import” href=“iron-pages.html”> <link rel=“import” href=“list-view.html”> <link rel=“import” href=“detail-view.html”> <link rel=“import” href=“cart-view.html”> <link rel=“import” href=“shop-app.html”> index.html <!doctype html> <html> <head> <link rel=“import” href=“shop-app.html”> </head> <body> <shop-app></shop-app> </body> </html> my-app.html <link rel=“import” href=“iron-pages.html”> <link rel=“import” href=“list-view.html”> <link rel=“import” href=“detail-view.html”> <link rel=“import” href=“cart-view.html”> <template> <iron-pages> <list-view></list-view> <detail-view></detail-view> <cart-view></cart-view> </iron-pages> </template> iron-pages.html <link rel=“import” href=“polymer.html”> <template> list-view.html <link rel=“import” href=“polymer.html”> <template> detail-view.html <link rel=“import” href=“polymer.html”> <template> cart-view.html <link rel=“import” href=“polymer.html”> <template> <header> <h1>[[category.title]]</h1> <span>[[_getPluralizedQuantity(category. </header> <div class="grid"> <template is="dom-repeat" items="[[_ge <a href$="[[_getItemHref(item)]]"> <list-item item=“[[item]]"></list-list-item> </a>
  • 31. <link rel=“import” href=“iron-pages.html”> <link rel=“import” href=“list-view.html”> <link rel=“import” href=“detail-view.html”> <link rel=“import” href=“cart-view.html”> <link rel=“import” href=“shop-app.html”> <link rel=“import” href=“polymer.html”> Response Headers: link: </shop-app.html>;rel=preload;as=document, </iron-pages.html>;rel=preload;as=document, </list-view.html>;rel=preload;as=document, </detail-view.html>;rel=preload;as=document, </cart-view.html>;rel=preload;as=document, </polymer.html>;rel=preload;as=document
  • 32. tabs button list … Cold cache: Only load code critical for /list route icon-buttonicon headerdrawer 1. Push components for initial route https://shop/list
  • 33. 2. Render initial route asap https://shop/list
  • 34. 3. Pre-cache remaining components … … Code for secondary routes pre-cached lazily https://shop/list
  • 35. 4. Lazy load & create secondary route https://shop/cart
  • 36. Push Render Pre-cache Lazy-load resources for initial route the initial route asap code for remaining routes & create next routes on-demand The PRPL Pattern
  • 38.
  • 39.