3. objective of this session
Architecting & developing cool apps
in this era of new trends
There is a transition in the hardware
industry (4 min)
Look this is an opportunity for you (4 min)
This session will help you discover &
seize those opportunities (40 min)
6. Directions: Shift to multi-core & many-core
Multi core; Many core
Quad-Core
Dual-Core
Single-Core 2006/07
2006
Previous
In 2009: Your Home PC can
run 16 threads, all simultaneously !!!
7. IA Performance Evolution
14
12
10
Relative Performance
8
6
4
2 Quad Core
Dual Core 65nm 45nm
0
2002 2003 2004 2005 2006 2007 2008
Intel Single Core Intel Multi Core
Quad-core Benefits a Broad Range of Workloads
Up to 6-12X performance over single core
8. Looking for the opportunity to ‘wow’ your users?
Performance Through
Multi-Core
Your apps
Performance
can do
things that
wasn’t
possible
before!
Performance Through
frequency
2006
- +
Your opportunity to add surprising capabilities
in your apps
9. quot;thinkquot; parallel to desing quot;wowquot; in your apps
capabilities
Your app’s
Time
GHz Era Multi-core Era
You apps threads needs to run in parallel instructions.
With more cores in devices, you can add more processes (speech
processing, media effects) in your UX.
Opportunity to design your apps with surprising capabilities!!!
10. “Think” Parallel ?
Concurrency vs. Parallelism
Concurrency: two or more threads are in progress
at the same time:
Thread 1
Thread 2
Parallelism: two or more threads are executing at
the same time
Thread 1
Thread 2
Multiple cores needed
10
11. Your effort to Think “parallel” with your Analysis & Design of SDLC
will benefit not few, but all your customers
450
400
350
300
250
200 By 2010, all PCs shipping will be multi-core
150
100
50
0
2007 2008 2009 2010 2011 2012
Single Core Dual Core Triple Core Quad Core
Hex Core Octal Core 12 Core 16 Core
Surprising capabilities in your apps can
be experienced by all your end-users
Source: PC Semiconductor Market Briefing: Re-Architecting the PC and the Migration of Value, June 2008
13. What you learnt from the demo ?
With more cores on the devices , You can develop
web2.0 mash-ups apps to reside on the device. (not
just on web servers).
Silverlight cross domain asynchronous web services.
Multi-threading in Rich Internet App
With more cores in devices, complex mash-ups can
be deployed in devices, triggering new trends in
web2.0
14. New devices from intel
New usage models for you
Full Intel x86 ISA compatible devices.
Your software skills holds good here!.
Rich Internet Applications
for devices on your Pocket
15. New category of devices
New customer base for you
Dual-core Atom
Rich Internet Applications
for 1st time PC users (emerging markets & children)
16.
17. Addressing the development lifecycle to harness
parallelism
DESIGN
Find where to start
parallelizing Gain insight on where parallelism will
most benefit existing source code
CODE & DEBUG
Introduce threads,
Parallelism
, Develop effective applications with a
.NET Parallel Technologies/
Multithreading
VERIFY
Find threading and
memory errors Help ensure application reliability with
proactive parallel memory and threading
error checking
TUNE
Tune iteratively Enhance applications with performance
analyzer
19. Parllelism Tips
Distribute the work equally among threads
Load balance issue
Don’t use too many shared data among
threads
Can increase the serial code and hurt performance and scalability
Acquire lock late and release it early
If not can increase the serial code
20. .NET Performance Tools
• Each tool has a different focus in the top down approach
• Some tools may overlap and cover multiple levels
VSTS (For performance Load testing)
Perfmon System Level
SOS
VTune
CLR Profiler MS* VSTS profiler Application Level
Performance
Analyzer
Microarchitecture Level
22. Application Level Parallelism
Run the serial version of Prime generation and
note down the timings
Run VTune™ Analyzer on Prime and do analysis
Where we have to introduce parallelism
Modify the code to introduce parallelism using PFX
Run the parallel version of the code
Measure the performance improvements
30. Enabling “WoW’ in your UX
Integrate more processes level parallelism
while architecting your client/RIA apps.
(4 mins)
31. What you learnt from the demo ?
How to enable platform awareness in your
apps. You can differentiate your apps to deliver
more UX if the device is more capable.
How can your apps detect the capability of the
device/no. of cores and dynamically adapt to
deliver the best.
33. What you learnt from the demo ?
How to enable platform awareness in your
apps.
You can differentiate your apps to deliver
more UX if the device is more capable.
How can your apps detect the capability of
the device/no. of cores and dynamically
adapt to deliver the best