SlideShare a Scribd company logo
©2011 Nokia
Dynamic execution context
management in heterogeneous
computing environments,
towards persistent computing
environments
Serguei Boldyrev
PhD
Location & Commerce BU
Common Technologies & Architecture
NVRAMOS 2011, November 9th
©2011 Nokia 2
The nature of the consumer’s relationships
with companies is changing
From a monologue… to a conversation… into continuous
relationships
From a unified… to a segmented… Into a dynamic personalized
offering together with ecosystem
36
Microsoft
Content and Consumer Lifetime Value are
MAIN DRIVERS
©2011 Nokia 3
Enhancing user experience
past
device only
present
device + service(s) + partners
future
Seamless User Experience across
device + services + partner ecosystem
Nokia
N9+Maps
Nokia
Lumia +
Maps +
Music
©2011 Nokia 4
Towards inclusive and sustainable
ecosystem
Operators
People and Places (including Maps)
Consumer understanding
Open Interfaces
Operator
Services
Attractive offering to mobile users
Microsoft
Services
Nokia
Services
• Nokia targets 300M active Nokia Services users by the end of 2011
• 800M Cloud-compatible devices exist in 2012
• Persistent computing, energy and cost effective HW is on the vendor’s roadmaps,
2013 and onwards
• ARM big.LITTLE, GPUs, SSDs NAND, PCM, MRAM
• Cloud Computing subscribers would total nearly one billion by 2014
A sustainable ecosystem where Nokia services will be only one part of the offering
©2011 Nokia 5
Outline
• From Web of Information
• To Web of Computing
• Explore & Share
• Persistent Computing
• Opportunities & Challenges
• Data
• Computation
• Managed Performance
• Privacy
• Conclusions
©2011 Nokia 6
From a Web of Information
People and Places (including Maps)
Service Platforms
Open Interfaces
Share favorite songs
with friends
Share content and
micro-blog between
friends
Surface the most
relevant content
Locate friends
around you
on a map
• Cloud computing today serve email, apps, downloads and storage
• Current "cloud apps" relying more on server-side processing
• SaaS, PaaS, NaaS and other service models to emerge
• Thin client, network as a computer, etc
• Seamless information management between Client and Cloud
©2011 Nokia 7
Towards a Web of Computing
Between
Devices & Infrastructure
Scale up/down to/from Cloud
Between
devices
Within
Operators & Infrastructures
Explore & Share
Seamless
computing
©2011 Nokia 8
Why is this happening? (we agree with “Others”)
Because digital transformation of products and services are demanded by
consumers, with increasing complexity driven by new customer expectations
Multiple &
continuous
Interaction
Consumption
based
Always
on
Personalized
and custom
Transparent
and trusted
Everything
as a
service
Consumer
expectation
©2011 Nokia 9
Part I: Explore & Share
Deliver services
and content
Device to
Device
Ovi at Retail concept
(see in YouTube)
RF memory tags
Share content between
devices
Explore and Share
new content in tags
©2011 Nokia 10
RF Memory tag technology
Motivation:
Evolution of non-volatile memories
=> from RFID tags to RF memory tags
Applications: wireless memory in batteryless objects,
ambient intelligence => Universal Local Storage
Batteryless tags
Capacity ~1 Gbit
Mobile phone centric:
phone as the UI
-> Low cost
-> Low power
-> Simple
-> Minimize added HW
-> 100 Mbit/s
©2011 Nokia 11
Positioning of wireless technologies
Transfer speed
Operation range
1 mm
1 cm
10 cm
1 meter
10 m
100 m
10kb/s 100kb/s 1Mb/s 10Mb/s 100Mb/s
EPC gen 2
operational
area
NFC
Universal
Local
Storage
UWB
RFID
HP Memory
SpotPhysical contact required
WLAN,
WI-FI,
BTH, 3G
Sony’s
TransferJET
Active technologies
PASSIVE
BATTERY-
LESS TAGS
60 GHz
©2011 Nokia 12
PHONE
UI/APP
MIPI BUS
WPT
MINAmI CONTROLLER
POWER
SUBSYS
MEMORY
SUBSYSTEM
BATTE
RY
PHONE
RADIO
SUBSYS
MINAmI
SUBSYSTEM
POWER
MANAGEMENT
I-UWB
HSI
MEMORY
CONTROL LAYER
MIPI mPHY
PCM
NETWORK
UWBLEE MAC
UWBLEE PHY
I-UWB WPT
CONTROL BLOCK
Explore & Share, architecture
©2011 Nokia 13
ULSArchitecture
SPI /HSI/MPHY(MIPI)
APE
CMT
SSI
SDR
PCM DDR
Combo
ADmux LPDDR1
MAC+ PHY(RF)
PCM
EMC
OS= Operating system
Etag = Embedded tag, tag in the phone
PCM = Phase Change Memory
EMC= External Memory Ctrl
SDR= Synchr. DRAM
ADmux = Addr, Data mux
LPDDR1 = Low power SDRAM Dual Data Rate Interface
ULSv. x.y. = > e.g. ULSICv5, UMETAGICversion, that
provides RFFrontend MACfunctionality to create over the
air connectivity with I-UWB and UHF/NFCpowering.
ULSbuffer (over the air part of the
memory), memory what is coming
from air (bidirectional)
= External tag
Addr space
for OS
OS(access to these memory)
ULS
Server
OS(demanded from
OS)
eTag (in PCM), visible
for external device
Reader memory (PCM memory)
ULS
Server
ULS
Server
ULSbuffer (over the air part of the
memory), memory what is coming
from air (bidirectional)
= External tag
Addr space
for OS
OS(access to these memory)
ULS
Server
OS(demanded from
OS)
eTag (in PCM), visible
for external device
Reader memory (PCM memory)
ULS
Server
ULS
Server
ULSServer, also called as
MINAmI Server
Reader/Writer
memory
ULSv. x.y
MACHW
MACSW
PHY
MAC+ PHY(RF)
ULSv. x.y
MACHW
MACSWPHY
“Over the air buffer”
(Rx buffer & Tx buffer)
“Reader buffer”
“3rd buffer for OS”
• Received Data first to ULSbuffer
• Then ULSServer mark that part to eTag
memory (if needed)
TAG
Reader/Writer
Distributed
execution
memory block
Local reflection of
the Distributed
execution
memory block
Explore & Share, functional blocks in
©2011 Nokia 14
XiP
NVRA
M
CPU R
F
R
F
Mobile device,
handheld form factor
Stationary device,
notebook form factor
RA
M
CPU
Explore & Share, Computation migration,
sort of 
ClientA
ClientB
Client API
Computation
run-time
Environment
Agent
1
Agent
2
Client API
Computation
run-time
Environment
Distribution
Distribution
©2011 Nokia 15
XiP
NVRA
M
CPU R
F
R
F
Mobile device, handheld form
factor
Stationary device, notebook form
factor
CPU
Step #1
Approaching
XiP
NVRA
M
CPU R
F
R
F
Mobile device, handheld form
factor
Stationary device, notebook form
factor
CPU
Step #2
Suspending
XiP
NVRA
M
CPU R
F
R
F
Mobile device, handheld form
factor
Stationary device, notebook form
factor
CPU
Step #3
Dispersing
RAM
RAM
RAM
No link
Link is
going up
Link is
going up
Execution context aggregated/running
Execution context suspended
Execution context dispersed
©2011 Nokia 16
XiP
NVRA
M
CPU R
F
R
F
Mobile device, handheld form
factor
Stationary device, notebook form
factor
CPU
Step #4
Migrating
XiP
NVRA
M
CPU R
F
R
F
Mobile device, handheld form
factor
Stationary device, notebook form
factor
CPU
Step #5
Aggregating
XiP
NVRA
M
CPU R
F
R
F
Mobile device, handheld form
factor
Stationary device, notebook form
factor
CPU
Step #6
Resuming
RAM
RAM
RAM
Link is up
Link is up
Link is up
Execution context aggregated/running
Execution context suspended
Execution context dispersed
Virtual run-time
environment
Virtual run-time
environment
©2011 Nokia 17
XiP
NVRA
M
CPU R
F
R
F
Mobile device, handheld form
factor
Stationary device, notebook form
factor
CPU
Step #7
Suspending
XiP
NVRA
M
CPU R
F
R
F
Mobile device, handheld form
factor
Stationary device, notebook form
factor
CPU
Step #8
Dispersing
XiP
NVRA
M
CPU R
F
R
F
Mobile device, handheld form
factor
Stationary device, notebook form
factor
CPU
Step #9
Migrating
RAM
RAM
RAM
Link is
going
down
Link is
going
down
Link is
going
down
Execution context aggregated/running
Execution context suspended
Execution context dispersed
Virtual run-time
environment
Virtual run-time
environment
©2011 Nokia 18
XiP
NVRA
M
CPU R
F
R
F
Mobile device, handheld form
factor
Stationary device, notebook form
factor
CPU
Step #10
Aggregating
XiP
NVRA
M
CPU R
F
R
F
Mobile device, handheld form
factor
Stationary device, notebook form
factor
CPU
Step #11
Resuming
XiP
NVRA
M
CPU R
F
R
F
Mobile device, handheld form
factor
Stationary device, notebook form
factor
CPU
Step #12
Leaving
RAM
RAM
RAM
No Link
No Link
No Link
Execution context aggregated/running
Execution context suspended
Execution context dispersed
©2011 Nokia 19
Ideal Scenario for the Future Solution
• Mobile device is a true contributing participant , not just a depending client
• Mobile device connects to multiple data sources (possibly independent devices or clouds),
forming one logical Computation/Data and Service space
• From any connected device, the user deals with the same data regardless of its physical
location
• Solution provides both data and distributed computing services
• Solution access is managed by fine-grained security policies applied according to the user’s
context
• From the design perspective, the Solution manages and hides complexity; does not increase it
• Solution data and services decrease development and maintenance costs
• Solution data and service pricing model creates new money flows between players
©2011 Nokia 20
New Digital Experience
"My digital experience follows me regardless the computing
environments around me“
• take advantage of finely granular and accountable processing
services,
• integrate heterogeneous information sources, and
• ultimately free users of mundane challenges and details of
technology usage
Greater reuse of information and computational tasks is just few steps
away
©2011 Nokia 21
Part II: New Digital Experience
World of fully deployed and available Computing – Persistent
Platforms
The emergence of Platforms that can seamlessly span the
“information spaces” of multiple
• hardware,
• software,
• information and
• infrastructure providers
©2011 Nokia 22
Technological enablers for Persistent Computing
Utilizing the best parts of the Web development paradigm
• …Web-based applications, not Web sites…
• and leveraging the special contextual capabilities of mobile devices (ex. WURFL databases on sensors)
Moving from a Device, Cloud and Web-centric models to a Persistent model (Persistent computing)
• Reuse (partition) information and persistent computation in the Cloud, Infrastructure and Devices
• Elimination of special-purpose software to download, install applications, Service oriented infrastructure constructed
as a functional flows requested on demand
• Enabling balancing of computation and relevant data between heterogeneous Cloud Back-Ends, Infrastructures (ex.
Spanner, HDFS, Web Intents etc) and devices
Fostering faster, easier, richer application innovation and deployment through SW and HW Persistent
computation recycling
• AMP processors, non-volatile execution memory
• Diverse Cloud Back-Ends can all leverage the infrastructure capabilities
• Atomic computations are now deployed once to the Back-Ends and composed down to Infrastructure and clients,
where a set of functional flows or description of those form the actual service
• Allowing Network Infrastructure to leverage data and computation workload, by taking care of services or provider of
services capabilities, distributing computation between Back-Ends and Infrastructure
• Allowing more efficient contextual composition of services than purely device or Web-centric models
Platform
Data
App
Device-centric model
Web-centric model
ABC Cloud
Data
Platform
App
“Future” model
ABC Cloud
Computation & Data
Platform
App
XYZ Cloud
©2011 Nokia 23
Persistent Computations
NVRA
M
Regional
DC
Master
DC
Regional
DC
• A next generation distributed systems are dynamically spanned around virtual and
physical infrastructures
• Device becomes a known and contributing node of the cloud infrastructure, service
provisioning element
Examples: Services based on crowdsourced information on traffic, pollution, weather,
body temperature, context intelligence, environments adapting to user context, efficient
computing
NVRA
M Cloud
Service
Core
Edge
©2011 Nokia 24
Persistent computing, Requirements
The new emerging paradigm of Distributed Systems requires
an explicit orchestration of computation across
• Mobile Devices (D2D connectivity)
• the Edge, (thin elements of the Cloud “skin”)
• Cloud and
• the Core
Orchestration depends on
• components’ states (persistency!) and
• resource demand,
through the proper exploitation of granular and therefore accountable
mechanisms
©2011 Nokia 25
“Aha!” moment
Design framework should be re-defined!
Persistence is the key attribute of ALL future Data &
Computation Management systems
©2011 Nokia 26
Opportunities and Challenges
Main aspects of
• Data and Computation semantics,
• Performance and Scalability of computation and networking,
• Role of Security and Privacy
©2011 Nokia 27
Data - Common Data Model (CDM) enables
Shared data across application domains
Policy Engine
Shared Information
Data & Computation
Integration
Semantics
Service1
Logic
Service1 API
ClientA
ClientB
Service2
Logic
Service2 API
Data API
Client Applications should not “own” data,
instead, they should reflect the users’
desire to do something, to accomplish
certain goals
• to call someone, you need Contacts,
• to know what to do next, you need
Calendar, etc.
Data is still the same…
• for example, it would be helpful for
Contacts to know who is the organizer
of your next meeting
• EXAMPLE: Apple Siri, Google Chrome
©2011 Nokia 28
Computation and Data perspective
Prerequisites
Core Data assets are encapsulated into results of Computation tasks
Objectives (but not limited to listed below)
• Design and implementation of scenarios where computation can be
described and represented in a system-wide understandable way
• enabling computation to be “migrated” (transmitted) from one computational
environment to another
• such transmission would involve reconstruction of the computational task at the
receiving end to match the defined semantics of task and data involved
• Construction of a system where larger computational tasks can be
decomposed into smaller tasks or units of computation
• independent of what the eventual execution environment(s) of these tasks (that
is, independent of hardware platforms or operating systems)
©2011 Nokia 29
Computation, the components
ClientA
ClientB
Backend Environment
Client API
Computation
run-time
Environment
Agent
1
Agent
2
Agent
3
Client API
Computation
run-time
Environment
Recycling
& Marshaling
Computations Store
Agent
4
Agent
5
Convenience API
PHP API Java API
Distribution
Back end API
Distribution
Control/Ontologies
Computation
Distribution
Computation closure –
• current state of execution
and context
• automatically generated
during the development
phase
• composed out of
anonymous function object
Function object – consists
of:
• class template result_of,
• function template mem_fn,
• function object binders, and
• polymorphic function
wrapper function
©2011 Nokia 30
Computations, zoom in
Closures
Environment
Agent
3
Scalable Computing
Monadic cross
platform support
Agent
2
Developer Experience
Closures based
Granular Reflective
Processes support
Agent
1
Services Infrastructure
Computation Closures
Closure set 3
User Device
Backend Environment
Agent
4
Closures Recycling
& Marshaling
Computation Closures Store
Agent
5
Agent
6
Convenience API
Distribution
Back end API
Closure set 1
Closure set 2
Closures
Store
Execution context
checkpoint &
distribution
Process
scheduling
Memory
management
System calls
Computation Closures set are backed by a Recycling or
Marshaling Service, with a load-balancing facility that
serializes Closures to be executed on remote computing
environments
Treating Closures as Data entities, letting us
compose Closures, chain them, and project
computations into them
PHP API Java API
Store
©2011 Nokia 31
Computations, User space
Common Data Platform
Object <compute_1,
compute_2, compute_3, …>
compute_3=filter(object)
context{object<compute_3>}
object=project(compute_3)
1. User Computations
6. Reconstruct
computation
Computation
set 3
Computation
set 1
Computation
set 2
Applications, User Context
Applications and Back End logic
3. Computation distribution
put(compute_3)
5. Project computation to the Functional
chain with User device context
get(compute_3)
4. Computation extraction
Users’
Computations [ ] ( )
{ }
Persistent
Granular and Reflective
Process Representation
User Device
2. Selection of the context
(functional chain)
Agent
3
Agent
1
lift’n’compose
Developer specifies ECMAScript
bounded to the ComputationsBack End provides the
basic Computation sets
Agent
2
©2011 Nokia 32
Computations, Reflective Run-time environment
Distributed information management framework enables reflective process/context migration
– Marshalling/UnMarshalling
– Alignment and enhancement with distribution
Distributed Computation and Data model allows dynamically balanced load between
concurrent execution environments taking into account the user’s current context
Common Data PlatformProcess
scheduling
Memory
mngm.
System
calls
Process
scheduling
Memory
mngm.
System
calls
Device boundaryDevice Remote/Device Back-end
User’s
context
User’s
context
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Store Store
©2011 Nokia 33
Persistent Computations
URIs
Computation
environment
Computation
environment
Legacy routines
Legacy routines
0xFFFF
0x0 0x0
0xFFFF … FFFF
Legacy routines
Persistent
Computations based
platform
Legacy routines
URIs
Front-End
Side
Back-End
Side
Distribution/sync
Computations
SUPERSET
Computations
subset
©2011 Nokia 34
Construction of the computational ontology
Closure
Object
EnvironmentClosure State
C64BitInteger
Variable
Signature
Instance
Properties
Class
Properties
Non-
Functional
properties
name: str
value: str
index: int
use: by-value / by-ref
1
1..*
1..*
2..*
11
111
1 1 1
1
1
1
1
1
1..*
Constraint: Each variable
can be a property of only one
of Signature, Environment or
Closure State
These help in creating
optimal functional flows
• Core parts contain generic
definitions for closure behavior
• Environment specific
extensions as specialization of
core parts
• Matching between the
environment specific
extensions
• Variation in closure
ontologies
• Limited number of
specializations
• Also non-functional properties
• energy
• performance
• …
• Moving closures states from
e.g. Back-End Java/PHP/C++
to pure Qt/QML/Java
environment and vice versa
©2011 Nokia 35
Developer Experience – integration with SDK
Closures allow to compose function
expression that can be wrapped and
exposed to Developer as Data
Closures can be passed to API,
stored, shared or spread the
computation
– The best estimated result based
on the first returning closure can
be seen as a part of functional flow
– When closures “return”, results can
be refined (parallelism)
– Computation recycling is possible
– Builds up a cache of results/partial
results (“fast computation”)
©2011 Nokia 36
Example
Computational
branch x
Computation
1
Computation
2
Computation
3
Connector
00
start
Each branch represents Computation associated with Data,
where Computational model is encapsulated into Data model
Before Starts:
Parameters to know beforehand (before start invoked):
1) Capabilities
2) Functional Flow specification (of how many parts we have in the map), see legend
in this slide (right).
3) Cost functions (compound function): what are cost in order to bind next
Computation
4) Rules (entity that drives this connector Computation and if not then it directs
elsewhere)
- capabilities
Cost
function
Functional flow
Rules
e.g.
Connector
00
e.g.
Connector
x0
Connector
x0
Connector
x1
Connector
x2
=> First list the 1-4 parameters then proceed with load balancing phases
Computation
0
Connector
x3
Computation
x1
Within devices
Connector x1 Connector x2
Computation
x1
Computation
x2
Computation
x2
Computation
x3
Computation
x3
Connector x3
Computation
4
stop
©2011 Nokia 37
Performance/Scalability, Requirements
• Granular latency control for diverse Data and Computational load in
heterogeneous environments
• Resolution of short term capacity decisions, including
• the determination of optimal configuration,
• the number of (live) Persistent nodes or
• the migration of computation or data
• Resolution of long term capacity decisions
• decisions concerning the development and
• extension of data- and service architecture, choice of technology, etc
• Control of SLAs at different levels,
• e.g. consumer services, platform components, etc
• Quality assessment of distributed software architecture
©2011 Nokia 38
User, Trust, Privacy the placement and scope
Content and Consumer Lifetime Value are MAIN DRIVERS
(note that in this diagram, by “ontology” the semantics is meant)
©2011 Nokia 39
Conclusion - Driving agenda
• Creation of approaches and effective tools for the next developer and
consumer applications, tackling
• Fuse & Lift of Big Data (Bring algorithm to the data, Knowledge creation)
• Social graph oriented patterns (social media, chat, calendar, etc)
• Tele immersive environment (AR, 3D maps, etc)
• Persistent Computing platform for the Continues Operations
o the fine-grained (and thus easily accountable) software frameworks
developments
o anything as a persistent service, e.g. sometimes giving hardware for “free”
• Mobile devices supported by Backend infrastructure technologies to
enable qualitative leap in ICT industry offerings, from the perspectives of
o scalable technology and
o multisided business models with high elasticity
Aiming and supporting future strategic growth areas and maintenance
requirements
40©2011 Nokia
Q&A
[ ] ( ) { }
sergey.boldyrev@nokia.com
©2011 Nokia 41
References
• ULS project
• SlipStream project
• Boldyrev, S., Kolesnikov, D., Lassila, O., & Oliver, I.. (2012).
Data and Computation Interoperability in Internet Services.
CLOSER.
©2011 Nokia
Thank you

More Related Content

PPTX
Data management platform
PPTX
Chapter "Cloud Computing Architecture and Services"
PDF
P01 | Security in Mobile Database System | Anurag Gupta | BCA
PPT
Cloud computing
PPTX
Cloud computing
PPT
Cloud Computing and Distance Education
PPTX
How Blockchain and Smart Buildings can Reshape the Internet
PDF
SOA with Data Virtualization (session 4 from Packed Lunch Webinar Series)
Data management platform
Chapter "Cloud Computing Architecture and Services"
P01 | Security in Mobile Database System | Anurag Gupta | BCA
Cloud computing
Cloud computing
Cloud Computing and Distance Education
How Blockchain and Smart Buildings can Reshape the Internet
SOA with Data Virtualization (session 4 from Packed Lunch Webinar Series)

What's hot (20)

PPTX
bigdata (1)
PPT
Managing and exploiting the digital deluge: issues, challenges and opportunities
DOC
PPTX
Cloud Computing introduction by saransh
PPTX
Edge computing system for large scale distributed sensing systems
PDF
Development of a Mobile Application for the C2NET Supply Chain Cloud–based P...
PPT
BBIM510 Lecture (2014)
PPTX
Grid Computing
PDF
Presentation cloud computing foundation technologies and research challenges
PDF
Configuring and Visualizing The Data Resources in a Cloud-based Data Collect...
PPTX
Cloud computing
PPTX
Cio webinar - 04 12 10
PPT
Use of cloud computing technology as an application in libraries
PPTX
Grid computing
DOC
Cloud introduction
PPTX
Grid computing
PPTX
Mobile Offline First for inclusive data that spans the data divide
PPTX
PPTX
Introduction to Grid Computing
bigdata (1)
Managing and exploiting the digital deluge: issues, challenges and opportunities
Cloud Computing introduction by saransh
Edge computing system for large scale distributed sensing systems
Development of a Mobile Application for the C2NET Supply Chain Cloud–based P...
BBIM510 Lecture (2014)
Grid Computing
Presentation cloud computing foundation technologies and research challenges
Configuring and Visualizing The Data Resources in a Cloud-based Data Collect...
Cloud computing
Cio webinar - 04 12 10
Use of cloud computing technology as an application in libraries
Grid computing
Cloud introduction
Grid computing
Mobile Offline First for inclusive data that spans the data divide
Introduction to Grid Computing
Ad

Similar to Dynamic execution context management in heterogeneous computing environments, towards persistent computing environments (20)

PPTX
Approaches for Distributed Information Computation and Processing
PPTX
Data & Computation Interoperability in Cloud Services - Seamless Computations
PPT
Mobile computing
PPT
Client server computing in mobile environments
PDF
Microservices bell labs_kulak_final
PPT
Theory of automata and Formal languages.
PDF
Developing For The Pervasive Internet Of Things
PPT
mdm-intro-chapter1.ppt
PPT
Mdm intro-chapter1
PPTX
Mobile Computing (Part-1)
PDF
Mobile Computing.pdf
PPTX
Lesson one introduction to mc
PPTX
Mobile databases
PDF
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
PDF
Nfc developers nokia mit event 12 13 10
PPTX
Mobile Ecosystem
PPTX
Chapter Modified -1.pptx Cloud computing is the on-demand availability of com...
PPTX
Workshop 12-06 - Architectures for Enterprise Mobile Applications
PPT
Chapter30
PPT
Chapter30 (1)
Approaches for Distributed Information Computation and Processing
Data & Computation Interoperability in Cloud Services - Seamless Computations
Mobile computing
Client server computing in mobile environments
Microservices bell labs_kulak_final
Theory of automata and Formal languages.
Developing For The Pervasive Internet Of Things
mdm-intro-chapter1.ppt
Mdm intro-chapter1
Mobile Computing (Part-1)
Mobile Computing.pdf
Lesson one introduction to mc
Mobile databases
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
Nfc developers nokia mit event 12 13 10
Mobile Ecosystem
Chapter Modified -1.pptx Cloud computing is the on-demand availability of com...
Workshop 12-06 - Architectures for Enterprise Mobile Applications
Chapter30
Chapter30 (1)
Ad

Recently uploaded (20)

PDF
Introduction to Data Science and Data Analysis
PDF
Capcut Pro Crack For PC Latest Version {Fully Unlocked 2025}
PDF
Introduction to the R Programming Language
PDF
Transcultural that can help you someday.
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PDF
REAL ILLUMINATI AGENT IN KAMPALA UGANDA CALL ON+256765750853/0705037305
PPTX
Database Infoormation System (DBIS).pptx
PPTX
sac 451hinhgsgshssjsjsjheegdggeegegdggddgeg.pptx
PPTX
(Ali Hamza) Roll No: (F24-BSCS-1103).pptx
PPT
Predictive modeling basics in data cleaning process
PPTX
New ISO 27001_2022 standard and the changes
PPTX
Qualitative Qantitative and Mixed Methods.pptx
PDF
How to run a consulting project- client discovery
PDF
[EN] Industrial Machine Downtime Prediction
PDF
Jean-Georges Perrin - Spark in Action, Second Edition (2020, Manning Publicat...
PDF
Microsoft Core Cloud Services powerpoint
PPTX
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
PPTX
retention in jsjsksksksnbsndjddjdnFPD.pptx
PPTX
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
PPTX
IBA_Chapter_11_Slides_Final_Accessible.pptx
Introduction to Data Science and Data Analysis
Capcut Pro Crack For PC Latest Version {Fully Unlocked 2025}
Introduction to the R Programming Language
Transcultural that can help you someday.
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
REAL ILLUMINATI AGENT IN KAMPALA UGANDA CALL ON+256765750853/0705037305
Database Infoormation System (DBIS).pptx
sac 451hinhgsgshssjsjsjheegdggeegegdggddgeg.pptx
(Ali Hamza) Roll No: (F24-BSCS-1103).pptx
Predictive modeling basics in data cleaning process
New ISO 27001_2022 standard and the changes
Qualitative Qantitative and Mixed Methods.pptx
How to run a consulting project- client discovery
[EN] Industrial Machine Downtime Prediction
Jean-Georges Perrin - Spark in Action, Second Edition (2020, Manning Publicat...
Microsoft Core Cloud Services powerpoint
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
retention in jsjsksksksnbsndjddjdnFPD.pptx
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
IBA_Chapter_11_Slides_Final_Accessible.pptx

Dynamic execution context management in heterogeneous computing environments, towards persistent computing environments

  • 1. ©2011 Nokia Dynamic execution context management in heterogeneous computing environments, towards persistent computing environments Serguei Boldyrev PhD Location & Commerce BU Common Technologies & Architecture NVRAMOS 2011, November 9th
  • 2. ©2011 Nokia 2 The nature of the consumer’s relationships with companies is changing From a monologue… to a conversation… into continuous relationships From a unified… to a segmented… Into a dynamic personalized offering together with ecosystem 36 Microsoft Content and Consumer Lifetime Value are MAIN DRIVERS
  • 3. ©2011 Nokia 3 Enhancing user experience past device only present device + service(s) + partners future Seamless User Experience across device + services + partner ecosystem Nokia N9+Maps Nokia Lumia + Maps + Music
  • 4. ©2011 Nokia 4 Towards inclusive and sustainable ecosystem Operators People and Places (including Maps) Consumer understanding Open Interfaces Operator Services Attractive offering to mobile users Microsoft Services Nokia Services • Nokia targets 300M active Nokia Services users by the end of 2011 • 800M Cloud-compatible devices exist in 2012 • Persistent computing, energy and cost effective HW is on the vendor’s roadmaps, 2013 and onwards • ARM big.LITTLE, GPUs, SSDs NAND, PCM, MRAM • Cloud Computing subscribers would total nearly one billion by 2014 A sustainable ecosystem where Nokia services will be only one part of the offering
  • 5. ©2011 Nokia 5 Outline • From Web of Information • To Web of Computing • Explore & Share • Persistent Computing • Opportunities & Challenges • Data • Computation • Managed Performance • Privacy • Conclusions
  • 6. ©2011 Nokia 6 From a Web of Information People and Places (including Maps) Service Platforms Open Interfaces Share favorite songs with friends Share content and micro-blog between friends Surface the most relevant content Locate friends around you on a map • Cloud computing today serve email, apps, downloads and storage • Current "cloud apps" relying more on server-side processing • SaaS, PaaS, NaaS and other service models to emerge • Thin client, network as a computer, etc • Seamless information management between Client and Cloud
  • 7. ©2011 Nokia 7 Towards a Web of Computing Between Devices & Infrastructure Scale up/down to/from Cloud Between devices Within Operators & Infrastructures Explore & Share Seamless computing
  • 8. ©2011 Nokia 8 Why is this happening? (we agree with “Others”) Because digital transformation of products and services are demanded by consumers, with increasing complexity driven by new customer expectations Multiple & continuous Interaction Consumption based Always on Personalized and custom Transparent and trusted Everything as a service Consumer expectation
  • 9. ©2011 Nokia 9 Part I: Explore & Share Deliver services and content Device to Device Ovi at Retail concept (see in YouTube) RF memory tags Share content between devices Explore and Share new content in tags
  • 10. ©2011 Nokia 10 RF Memory tag technology Motivation: Evolution of non-volatile memories => from RFID tags to RF memory tags Applications: wireless memory in batteryless objects, ambient intelligence => Universal Local Storage Batteryless tags Capacity ~1 Gbit Mobile phone centric: phone as the UI -> Low cost -> Low power -> Simple -> Minimize added HW -> 100 Mbit/s
  • 11. ©2011 Nokia 11 Positioning of wireless technologies Transfer speed Operation range 1 mm 1 cm 10 cm 1 meter 10 m 100 m 10kb/s 100kb/s 1Mb/s 10Mb/s 100Mb/s EPC gen 2 operational area NFC Universal Local Storage UWB RFID HP Memory SpotPhysical contact required WLAN, WI-FI, BTH, 3G Sony’s TransferJET Active technologies PASSIVE BATTERY- LESS TAGS 60 GHz
  • 12. ©2011 Nokia 12 PHONE UI/APP MIPI BUS WPT MINAmI CONTROLLER POWER SUBSYS MEMORY SUBSYSTEM BATTE RY PHONE RADIO SUBSYS MINAmI SUBSYSTEM POWER MANAGEMENT I-UWB HSI MEMORY CONTROL LAYER MIPI mPHY PCM NETWORK UWBLEE MAC UWBLEE PHY I-UWB WPT CONTROL BLOCK Explore & Share, architecture
  • 13. ©2011 Nokia 13 ULSArchitecture SPI /HSI/MPHY(MIPI) APE CMT SSI SDR PCM DDR Combo ADmux LPDDR1 MAC+ PHY(RF) PCM EMC OS= Operating system Etag = Embedded tag, tag in the phone PCM = Phase Change Memory EMC= External Memory Ctrl SDR= Synchr. DRAM ADmux = Addr, Data mux LPDDR1 = Low power SDRAM Dual Data Rate Interface ULSv. x.y. = > e.g. ULSICv5, UMETAGICversion, that provides RFFrontend MACfunctionality to create over the air connectivity with I-UWB and UHF/NFCpowering. ULSbuffer (over the air part of the memory), memory what is coming from air (bidirectional) = External tag Addr space for OS OS(access to these memory) ULS Server OS(demanded from OS) eTag (in PCM), visible for external device Reader memory (PCM memory) ULS Server ULS Server ULSbuffer (over the air part of the memory), memory what is coming from air (bidirectional) = External tag Addr space for OS OS(access to these memory) ULS Server OS(demanded from OS) eTag (in PCM), visible for external device Reader memory (PCM memory) ULS Server ULS Server ULSServer, also called as MINAmI Server Reader/Writer memory ULSv. x.y MACHW MACSW PHY MAC+ PHY(RF) ULSv. x.y MACHW MACSWPHY “Over the air buffer” (Rx buffer & Tx buffer) “Reader buffer” “3rd buffer for OS” • Received Data first to ULSbuffer • Then ULSServer mark that part to eTag memory (if needed) TAG Reader/Writer Distributed execution memory block Local reflection of the Distributed execution memory block Explore & Share, functional blocks in
  • 14. ©2011 Nokia 14 XiP NVRA M CPU R F R F Mobile device, handheld form factor Stationary device, notebook form factor RA M CPU Explore & Share, Computation migration, sort of  ClientA ClientB Client API Computation run-time Environment Agent 1 Agent 2 Client API Computation run-time Environment Distribution Distribution
  • 15. ©2011 Nokia 15 XiP NVRA M CPU R F R F Mobile device, handheld form factor Stationary device, notebook form factor CPU Step #1 Approaching XiP NVRA M CPU R F R F Mobile device, handheld form factor Stationary device, notebook form factor CPU Step #2 Suspending XiP NVRA M CPU R F R F Mobile device, handheld form factor Stationary device, notebook form factor CPU Step #3 Dispersing RAM RAM RAM No link Link is going up Link is going up Execution context aggregated/running Execution context suspended Execution context dispersed
  • 16. ©2011 Nokia 16 XiP NVRA M CPU R F R F Mobile device, handheld form factor Stationary device, notebook form factor CPU Step #4 Migrating XiP NVRA M CPU R F R F Mobile device, handheld form factor Stationary device, notebook form factor CPU Step #5 Aggregating XiP NVRA M CPU R F R F Mobile device, handheld form factor Stationary device, notebook form factor CPU Step #6 Resuming RAM RAM RAM Link is up Link is up Link is up Execution context aggregated/running Execution context suspended Execution context dispersed Virtual run-time environment Virtual run-time environment
  • 17. ©2011 Nokia 17 XiP NVRA M CPU R F R F Mobile device, handheld form factor Stationary device, notebook form factor CPU Step #7 Suspending XiP NVRA M CPU R F R F Mobile device, handheld form factor Stationary device, notebook form factor CPU Step #8 Dispersing XiP NVRA M CPU R F R F Mobile device, handheld form factor Stationary device, notebook form factor CPU Step #9 Migrating RAM RAM RAM Link is going down Link is going down Link is going down Execution context aggregated/running Execution context suspended Execution context dispersed Virtual run-time environment Virtual run-time environment
  • 18. ©2011 Nokia 18 XiP NVRA M CPU R F R F Mobile device, handheld form factor Stationary device, notebook form factor CPU Step #10 Aggregating XiP NVRA M CPU R F R F Mobile device, handheld form factor Stationary device, notebook form factor CPU Step #11 Resuming XiP NVRA M CPU R F R F Mobile device, handheld form factor Stationary device, notebook form factor CPU Step #12 Leaving RAM RAM RAM No Link No Link No Link Execution context aggregated/running Execution context suspended Execution context dispersed
  • 19. ©2011 Nokia 19 Ideal Scenario for the Future Solution • Mobile device is a true contributing participant , not just a depending client • Mobile device connects to multiple data sources (possibly independent devices or clouds), forming one logical Computation/Data and Service space • From any connected device, the user deals with the same data regardless of its physical location • Solution provides both data and distributed computing services • Solution access is managed by fine-grained security policies applied according to the user’s context • From the design perspective, the Solution manages and hides complexity; does not increase it • Solution data and services decrease development and maintenance costs • Solution data and service pricing model creates new money flows between players
  • 20. ©2011 Nokia 20 New Digital Experience "My digital experience follows me regardless the computing environments around me“ • take advantage of finely granular and accountable processing services, • integrate heterogeneous information sources, and • ultimately free users of mundane challenges and details of technology usage Greater reuse of information and computational tasks is just few steps away
  • 21. ©2011 Nokia 21 Part II: New Digital Experience World of fully deployed and available Computing – Persistent Platforms The emergence of Platforms that can seamlessly span the “information spaces” of multiple • hardware, • software, • information and • infrastructure providers
  • 22. ©2011 Nokia 22 Technological enablers for Persistent Computing Utilizing the best parts of the Web development paradigm • …Web-based applications, not Web sites… • and leveraging the special contextual capabilities of mobile devices (ex. WURFL databases on sensors) Moving from a Device, Cloud and Web-centric models to a Persistent model (Persistent computing) • Reuse (partition) information and persistent computation in the Cloud, Infrastructure and Devices • Elimination of special-purpose software to download, install applications, Service oriented infrastructure constructed as a functional flows requested on demand • Enabling balancing of computation and relevant data between heterogeneous Cloud Back-Ends, Infrastructures (ex. Spanner, HDFS, Web Intents etc) and devices Fostering faster, easier, richer application innovation and deployment through SW and HW Persistent computation recycling • AMP processors, non-volatile execution memory • Diverse Cloud Back-Ends can all leverage the infrastructure capabilities • Atomic computations are now deployed once to the Back-Ends and composed down to Infrastructure and clients, where a set of functional flows or description of those form the actual service • Allowing Network Infrastructure to leverage data and computation workload, by taking care of services or provider of services capabilities, distributing computation between Back-Ends and Infrastructure • Allowing more efficient contextual composition of services than purely device or Web-centric models Platform Data App Device-centric model Web-centric model ABC Cloud Data Platform App “Future” model ABC Cloud Computation & Data Platform App XYZ Cloud
  • 23. ©2011 Nokia 23 Persistent Computations NVRA M Regional DC Master DC Regional DC • A next generation distributed systems are dynamically spanned around virtual and physical infrastructures • Device becomes a known and contributing node of the cloud infrastructure, service provisioning element Examples: Services based on crowdsourced information on traffic, pollution, weather, body temperature, context intelligence, environments adapting to user context, efficient computing NVRA M Cloud Service Core Edge
  • 24. ©2011 Nokia 24 Persistent computing, Requirements The new emerging paradigm of Distributed Systems requires an explicit orchestration of computation across • Mobile Devices (D2D connectivity) • the Edge, (thin elements of the Cloud “skin”) • Cloud and • the Core Orchestration depends on • components’ states (persistency!) and • resource demand, through the proper exploitation of granular and therefore accountable mechanisms
  • 25. ©2011 Nokia 25 “Aha!” moment Design framework should be re-defined! Persistence is the key attribute of ALL future Data & Computation Management systems
  • 26. ©2011 Nokia 26 Opportunities and Challenges Main aspects of • Data and Computation semantics, • Performance and Scalability of computation and networking, • Role of Security and Privacy
  • 27. ©2011 Nokia 27 Data - Common Data Model (CDM) enables Shared data across application domains Policy Engine Shared Information Data & Computation Integration Semantics Service1 Logic Service1 API ClientA ClientB Service2 Logic Service2 API Data API Client Applications should not “own” data, instead, they should reflect the users’ desire to do something, to accomplish certain goals • to call someone, you need Contacts, • to know what to do next, you need Calendar, etc. Data is still the same… • for example, it would be helpful for Contacts to know who is the organizer of your next meeting • EXAMPLE: Apple Siri, Google Chrome
  • 28. ©2011 Nokia 28 Computation and Data perspective Prerequisites Core Data assets are encapsulated into results of Computation tasks Objectives (but not limited to listed below) • Design and implementation of scenarios where computation can be described and represented in a system-wide understandable way • enabling computation to be “migrated” (transmitted) from one computational environment to another • such transmission would involve reconstruction of the computational task at the receiving end to match the defined semantics of task and data involved • Construction of a system where larger computational tasks can be decomposed into smaller tasks or units of computation • independent of what the eventual execution environment(s) of these tasks (that is, independent of hardware platforms or operating systems)
  • 29. ©2011 Nokia 29 Computation, the components ClientA ClientB Backend Environment Client API Computation run-time Environment Agent 1 Agent 2 Agent 3 Client API Computation run-time Environment Recycling & Marshaling Computations Store Agent 4 Agent 5 Convenience API PHP API Java API Distribution Back end API Distribution Control/Ontologies Computation Distribution Computation closure – • current state of execution and context • automatically generated during the development phase • composed out of anonymous function object Function object – consists of: • class template result_of, • function template mem_fn, • function object binders, and • polymorphic function wrapper function
  • 30. ©2011 Nokia 30 Computations, zoom in Closures Environment Agent 3 Scalable Computing Monadic cross platform support Agent 2 Developer Experience Closures based Granular Reflective Processes support Agent 1 Services Infrastructure Computation Closures Closure set 3 User Device Backend Environment Agent 4 Closures Recycling & Marshaling Computation Closures Store Agent 5 Agent 6 Convenience API Distribution Back end API Closure set 1 Closure set 2 Closures Store Execution context checkpoint & distribution Process scheduling Memory management System calls Computation Closures set are backed by a Recycling or Marshaling Service, with a load-balancing facility that serializes Closures to be executed on remote computing environments Treating Closures as Data entities, letting us compose Closures, chain them, and project computations into them PHP API Java API Store
  • 31. ©2011 Nokia 31 Computations, User space Common Data Platform Object <compute_1, compute_2, compute_3, …> compute_3=filter(object) context{object<compute_3>} object=project(compute_3) 1. User Computations 6. Reconstruct computation Computation set 3 Computation set 1 Computation set 2 Applications, User Context Applications and Back End logic 3. Computation distribution put(compute_3) 5. Project computation to the Functional chain with User device context get(compute_3) 4. Computation extraction Users’ Computations [ ] ( ) { } Persistent Granular and Reflective Process Representation User Device 2. Selection of the context (functional chain) Agent 3 Agent 1 lift’n’compose Developer specifies ECMAScript bounded to the ComputationsBack End provides the basic Computation sets Agent 2
  • 32. ©2011 Nokia 32 Computations, Reflective Run-time environment Distributed information management framework enables reflective process/context migration – Marshalling/UnMarshalling – Alignment and enhancement with distribution Distributed Computation and Data model allows dynamically balanced load between concurrent execution environments taking into account the user’s current context Common Data PlatformProcess scheduling Memory mngm. System calls Process scheduling Memory mngm. System calls Device boundaryDevice Remote/Device Back-end User’s context User’s context Agent Agent Agent Agent Agent Agent Agent Agent Store Store
  • 33. ©2011 Nokia 33 Persistent Computations URIs Computation environment Computation environment Legacy routines Legacy routines 0xFFFF 0x0 0x0 0xFFFF … FFFF Legacy routines Persistent Computations based platform Legacy routines URIs Front-End Side Back-End Side Distribution/sync Computations SUPERSET Computations subset
  • 34. ©2011 Nokia 34 Construction of the computational ontology Closure Object EnvironmentClosure State C64BitInteger Variable Signature Instance Properties Class Properties Non- Functional properties name: str value: str index: int use: by-value / by-ref 1 1..* 1..* 2..* 11 111 1 1 1 1 1 1 1 1 1..* Constraint: Each variable can be a property of only one of Signature, Environment or Closure State These help in creating optimal functional flows • Core parts contain generic definitions for closure behavior • Environment specific extensions as specialization of core parts • Matching between the environment specific extensions • Variation in closure ontologies • Limited number of specializations • Also non-functional properties • energy • performance • … • Moving closures states from e.g. Back-End Java/PHP/C++ to pure Qt/QML/Java environment and vice versa
  • 35. ©2011 Nokia 35 Developer Experience – integration with SDK Closures allow to compose function expression that can be wrapped and exposed to Developer as Data Closures can be passed to API, stored, shared or spread the computation – The best estimated result based on the first returning closure can be seen as a part of functional flow – When closures “return”, results can be refined (parallelism) – Computation recycling is possible – Builds up a cache of results/partial results (“fast computation”)
  • 36. ©2011 Nokia 36 Example Computational branch x Computation 1 Computation 2 Computation 3 Connector 00 start Each branch represents Computation associated with Data, where Computational model is encapsulated into Data model Before Starts: Parameters to know beforehand (before start invoked): 1) Capabilities 2) Functional Flow specification (of how many parts we have in the map), see legend in this slide (right). 3) Cost functions (compound function): what are cost in order to bind next Computation 4) Rules (entity that drives this connector Computation and if not then it directs elsewhere) - capabilities Cost function Functional flow Rules e.g. Connector 00 e.g. Connector x0 Connector x0 Connector x1 Connector x2 => First list the 1-4 parameters then proceed with load balancing phases Computation 0 Connector x3 Computation x1 Within devices Connector x1 Connector x2 Computation x1 Computation x2 Computation x2 Computation x3 Computation x3 Connector x3 Computation 4 stop
  • 37. ©2011 Nokia 37 Performance/Scalability, Requirements • Granular latency control for diverse Data and Computational load in heterogeneous environments • Resolution of short term capacity decisions, including • the determination of optimal configuration, • the number of (live) Persistent nodes or • the migration of computation or data • Resolution of long term capacity decisions • decisions concerning the development and • extension of data- and service architecture, choice of technology, etc • Control of SLAs at different levels, • e.g. consumer services, platform components, etc • Quality assessment of distributed software architecture
  • 38. ©2011 Nokia 38 User, Trust, Privacy the placement and scope Content and Consumer Lifetime Value are MAIN DRIVERS (note that in this diagram, by “ontology” the semantics is meant)
  • 39. ©2011 Nokia 39 Conclusion - Driving agenda • Creation of approaches and effective tools for the next developer and consumer applications, tackling • Fuse & Lift of Big Data (Bring algorithm to the data, Knowledge creation) • Social graph oriented patterns (social media, chat, calendar, etc) • Tele immersive environment (AR, 3D maps, etc) • Persistent Computing platform for the Continues Operations o the fine-grained (and thus easily accountable) software frameworks developments o anything as a persistent service, e.g. sometimes giving hardware for “free” • Mobile devices supported by Backend infrastructure technologies to enable qualitative leap in ICT industry offerings, from the perspectives of o scalable technology and o multisided business models with high elasticity Aiming and supporting future strategic growth areas and maintenance requirements
  • 40. 40©2011 Nokia Q&A [ ] ( ) { } sergey.boldyrev@nokia.com
  • 41. ©2011 Nokia 41 References • ULS project • SlipStream project • Boldyrev, S., Kolesnikov, D., Lassila, O., & Oliver, I.. (2012). Data and Computation Interoperability in Internet Services. CLOSER.