SlideShare uma empresa Scribd logo
1 de 15
Abhinaba Basu
http://blogs.msdn.com/abhinaba
App State                        64K object pools
                                 Large (>16K) and
                 Fast free
                                  huge objects (>64K)
            Pool 2               Per app domain
                                  finalizer thread
   Pool 0            Pool 1
   Targeted towards diverse devices
   Non generational mark-sweep-compaction
   Highest cost is compaction
    ◦ Fired when fragmentation > 750K
   GC can trigger code pitching
   GC triggers
    ◦   Allocation fails
    ◦   Quanta of allocation
    ◦   User code forces GC
    ◦   When app goes to background
   Actively engaging with
    ◦ Desktop SL team
    ◦ Desktop CLR GC folks
    ◦ XNA team
   Measure, measure and then measure some
    more
   Development of tools for memory simulations
   60% to 85% of memory in native heap with 80
    MB working set
    ◦ Native heap allocations don’t impact GC perf
    ◦ Images, in native heap, dominate working set
   Desktop GC inadequate in this scenario
   Unsuccessfully attempted Add/Remove
    Memory pressure
   SL drives GC
   Suggested we tweak our GC to be total
    memory aware and expose hosting API
Samsung Mirage



                     250


                     200


                     150
       GC latency
                                                                           Garbage per sec:100K
       (milli sec)
                     100


                      50


                       0

                           1   2   3.2    4.3   5.5   6.7   7.8   9   10

                                         Managed Heap Working Set


OMAP - 10 mb managed data
   1. Without  60ms
   2. With compaction  186ms
   3. 26MB Compaction  324ms
   60-80% of working set is native
   Linear degradation with increase in managed
    working set
   Expected max is 50MB
   Managed WS < 10MB generally works fine
   Managed WS >100MB experiences “hangs”
   UI over web-services, small data works fine
   UI over large in-memory data has large startup
    time
   Multi-media, games can have small freezes
    (200ms) on full GC
   SL apps with lot of native memory may run into
    OOM even when memory can be reclaimed
   Refactoring to allow GC in-built profiles
   Auto-tuning to reduce the number of GC
   Configurability
   Hosting changes
   Auto tune internal thresholds
    ◦ Collection threshold/budget
    ◦ Fragmentation threshold for compaction
   Native allocation aware
   System memory aware
   Low memory state
   Support GC policies
    ◦ Currently limited hand tuning for entire CLR
    ◦ Per process GC config (*.exe.config)
         Downloaded application cannot override
         System applications can change Quanta, disable
          pitching
   Add GC Hosting API’s
    ◦   ICLRHostManager::Collect
    ◦   ICLRManager::SetGCStartupLimits
    ◦   IHostMemoryManager::GetMemoryLoad
    ◦   IHostGCManager::GCNotification
   CE 6.0 memory model changes
   Hand optimization
   Generational GC
    ◦ Current data on desktop SL suggests against it
   Xbox and other large systems bring in special
    challenges
   Per CPU heap/allocation context
   Parallel GC on multi-proc systems
   Pre-fetch
   Current focus is Mobile scenarios
   http://blogs.msdn.com/abhinaba/archive/ta
    gs/Garbage+Collection/default.aspx
   http://sharepointasia/sites/mobiledev/netcf/
    NETCF%20Internal%20Documents/CF%20Desi
    gn/Proposed%20changes%20to%20Garbage%
    20Collector.mht
   CLRProfiler
   Remote Performance Monitor

Mais conteúdo relacionado

Mais procurados

Deep Dive In To Redis Replication: Vishy Kasar
Deep Dive In To Redis Replication: Vishy KasarDeep Dive In To Redis Replication: Vishy Kasar
Deep Dive In To Redis Replication: Vishy Kasar
Redis Labs
 

Mais procurados (18)

JVM Memory Management Details
JVM Memory Management DetailsJVM Memory Management Details
JVM Memory Management Details
 
Scylla Summit 2018: Introducing ValuStor, A Memcached Alternative Made to Run...
Scylla Summit 2018: Introducing ValuStor, A Memcached Alternative Made to Run...Scylla Summit 2018: Introducing ValuStor, A Memcached Alternative Made to Run...
Scylla Summit 2018: Introducing ValuStor, A Memcached Alternative Made to Run...
 
Autoscaled Distributed Automation using AWS at Selenium London MeetUp
Autoscaled Distributed Automation using AWS at Selenium London MeetUpAutoscaled Distributed Automation using AWS at Selenium London MeetUp
Autoscaled Distributed Automation using AWS at Selenium London MeetUp
 
.NET Developer Days - Launching Patterns for Containers
.NET Developer Days - Launching Patterns for Containers.NET Developer Days - Launching Patterns for Containers
.NET Developer Days - Launching Patterns for Containers
 
Gulp
GulpGulp
Gulp
 
.NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time....NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time...
 
Deep Dive In To Redis Replication: Vishy Kasar
Deep Dive In To Redis Replication: Vishy KasarDeep Dive In To Redis Replication: Vishy Kasar
Deep Dive In To Redis Replication: Vishy Kasar
 
Basic training on web-GIS
Basic training on web-GISBasic training on web-GIS
Basic training on web-GIS
 
How Shit Works: Storage
How Shit Works: StorageHow Shit Works: Storage
How Shit Works: Storage
 
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
 
AMIS OOW Review - Deel 6 - Emiel Paasschens
AMIS OOW Review - Deel 6 - Emiel PaasschensAMIS OOW Review - Deel 6 - Emiel Paasschens
AMIS OOW Review - Deel 6 - Emiel Paasschens
 
NSBCon UK nservicebus on Azure by Yves Goeleven
NSBCon UK nservicebus on Azure by Yves GoelevenNSBCon UK nservicebus on Azure by Yves Goeleven
NSBCon UK nservicebus on Azure by Yves Goeleven
 
What's New in Postgres Plus Advanced Server 9.3
What's New in Postgres Plus Advanced Server 9.3What's New in Postgres Plus Advanced Server 9.3
What's New in Postgres Plus Advanced Server 9.3
 
Scylla Summit 2018: Make Scylla Fast Again! Find out how using Tools, Talent,...
Scylla Summit 2018: Make Scylla Fast Again! Find out how using Tools, Talent,...Scylla Summit 2018: Make Scylla Fast Again! Find out how using Tools, Talent,...
Scylla Summit 2018: Make Scylla Fast Again! Find out how using Tools, Talent,...
 
Puppet Camp Dallas 2014: Using Puppet in Hybrid Cloud Deployments
Puppet Camp Dallas 2014: Using Puppet in Hybrid Cloud DeploymentsPuppet Camp Dallas 2014: Using Puppet in Hybrid Cloud Deployments
Puppet Camp Dallas 2014: Using Puppet in Hybrid Cloud Deployments
 
Retrofitting Continuous Delivery
Retrofitting Continuous Delivery Retrofitting Continuous Delivery
Retrofitting Continuous Delivery
 
TDC2016SP - Esqueça Grunt ou Gulp. Webpack and NPM rule them all!
TDC2016SP -  Esqueça Grunt ou Gulp. Webpack and NPM rule them all!TDC2016SP -  Esqueça Grunt ou Gulp. Webpack and NPM rule them all!
TDC2016SP - Esqueça Grunt ou Gulp. Webpack and NPM rule them all!
 
Cassandra at Instagram (August 2013)
Cassandra at Instagram (August 2013)Cassandra at Instagram (August 2013)
Cassandra at Instagram (August 2013)
 

Destaque

Whats New In Sl3
Whats New In Sl3Whats New In Sl3
Whats New In Sl3
rsnarayanan
 
Occasionally Connected Systems
Occasionally Connected SystemsOccasionally Connected Systems
Occasionally Connected Systems
rsnarayanan
 
Advanced Silverlight
Advanced SilverlightAdvanced Silverlight
Advanced Silverlight
rsnarayanan
 
Building Business Continuity Solutions With Hyper V
Building Business Continuity Solutions With Hyper VBuilding Business Continuity Solutions With Hyper V
Building Business Continuity Solutions With Hyper V
rsnarayanan
 
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
rsnarayanan
 

Destaque (7)

Whats New In Sl3
Whats New In Sl3Whats New In Sl3
Whats New In Sl3
 
Occasionally Connected Systems
Occasionally Connected SystemsOccasionally Connected Systems
Occasionally Connected Systems
 
168847016 plano-de-contas
168847016 plano-de-contas168847016 plano-de-contas
168847016 plano-de-contas
 
Advanced Silverlight
Advanced SilverlightAdvanced Silverlight
Advanced Silverlight
 
Building Business Continuity Solutions With Hyper V
Building Business Continuity Solutions With Hyper VBuilding Business Continuity Solutions With Hyper V
Building Business Continuity Solutions With Hyper V
 
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
 
Teri patmutun
Teri patmutunTeri patmutun
Teri patmutun
 

Semelhante a Netcf Gc

From One to a Cluster
From One to a ClusterFrom One to a Cluster
From One to a Cluster
guestd34230
 
[Roblek] Distributed computing in practice
[Roblek] Distributed computing in practice[Roblek] Distributed computing in practice
[Roblek] Distributed computing in practice
javablend
 

Semelhante a Netcf Gc (20)

How to build a state-of-the-art rails cluster
How to build a state-of-the-art rails clusterHow to build a state-of-the-art rails cluster
How to build a state-of-the-art rails cluster
 
Cold Hard Cache
Cold Hard CacheCold Hard Cache
Cold Hard Cache
 
From One to a Cluster
From One to a ClusterFrom One to a Cluster
From One to a Cluster
 
Jvm & Garbage collection tuning for low latencies application
Jvm & Garbage collection tuning for low latencies applicationJvm & Garbage collection tuning for low latencies application
Jvm & Garbage collection tuning for low latencies application
 
Offline capable web applications with Google Gears and Dojo Offline
Offline capable web applications with Google Gears and Dojo OfflineOffline capable web applications with Google Gears and Dojo Offline
Offline capable web applications with Google Gears and Dojo Offline
 
Tales from Taming the Long Tail
Tales from Taming the Long TailTales from Taming the Long Tail
Tales from Taming the Long Tail
 
EC2ナイトセミナプレゼン資料 Rel2
EC2ナイトセミナプレゼン資料 Rel2EC2ナイトセミナプレゼン資料 Rel2
EC2ナイトセミナプレゼン資料 Rel2
 
Blogopolisの裏側
Blogopolisの裏側Blogopolisの裏側
Blogopolisの裏側
 
[Roblek] Distributed computing in practice
[Roblek] Distributed computing in practice[Roblek] Distributed computing in practice
[Roblek] Distributed computing in practice
 
R&D work on pre exascale HPC systems
R&D work on pre exascale HPC systemsR&D work on pre exascale HPC systems
R&D work on pre exascale HPC systems
 
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
 
All The Little Pieces
All The Little PiecesAll The Little Pieces
All The Little Pieces
 
cosbench-openstack.pdf
cosbench-openstack.pdfcosbench-openstack.pdf
cosbench-openstack.pdf
 
Basics of JVM Tuning
Basics of JVM TuningBasics of JVM Tuning
Basics of JVM Tuning
 
Memory, Big Data, NoSQL and Virtualization
Memory, Big Data, NoSQL and VirtualizationMemory, Big Data, NoSQL and Virtualization
Memory, Big Data, NoSQL and Virtualization
 
Haproxy - zastosowania
Haproxy - zastosowaniaHaproxy - zastosowania
Haproxy - zastosowania
 
High performance in react native
High performance in react nativeHigh performance in react native
High performance in react native
 
淺談 Java GC 原理、調教和 新發展
淺談 Java GC 原理、調教和新發展淺談 Java GC 原理、調教和新發展
淺談 Java GC 原理、調教和 新發展
 
Nick Fisk - low latency Ceph
Nick Fisk - low latency CephNick Fisk - low latency Ceph
Nick Fisk - low latency Ceph
 
DX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIsDX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIs
 

Mais de rsnarayanan

Kevin Ms Web Platform
Kevin Ms Web PlatformKevin Ms Web Platform
Kevin Ms Web Platform
rsnarayanan
 
Harish Understanding Aspnet
Harish Understanding AspnetHarish Understanding Aspnet
Harish Understanding Aspnet
rsnarayanan
 
Harish Aspnet Dynamic Data
Harish Aspnet Dynamic DataHarish Aspnet Dynamic Data
Harish Aspnet Dynamic Data
rsnarayanan
 
Harish Aspnet Deployment
Harish Aspnet DeploymentHarish Aspnet Deployment
Harish Aspnet Deployment
rsnarayanan
 
Developing Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And ServicesDeveloping Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And Services
rsnarayanan
 
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...
rsnarayanan
 
J Query The Write Less Do More Javascript Library
J Query   The Write Less Do More Javascript LibraryJ Query   The Write Less Do More Javascript Library
J Query The Write Less Do More Javascript Library
rsnarayanan
 
Ms Sql Business Inteligence With My Sql
Ms Sql Business Inteligence With My SqlMs Sql Business Inteligence With My Sql
Ms Sql Business Inteligence With My Sql
rsnarayanan
 
Windows 7 For Developers
Windows 7 For DevelopersWindows 7 For Developers
Windows 7 For Developers
rsnarayanan
 
What Is New In Wpf 3.5 Sp1
What Is New In Wpf 3.5 Sp1What Is New In Wpf 3.5 Sp1
What Is New In Wpf 3.5 Sp1
rsnarayanan
 
Ux For Developers
Ux For DevelopersUx For Developers
Ux For Developers
rsnarayanan
 
A Lap Around Internet Explorer 8
A Lap Around Internet Explorer 8A Lap Around Internet Explorer 8
A Lap Around Internet Explorer 8
rsnarayanan
 
App Arch Guide (Dons)
App Arch Guide (Dons)App Arch Guide (Dons)
App Arch Guide (Dons)
rsnarayanan
 
Data Access Tech Ed India
Data Access   Tech Ed IndiaData Access   Tech Ed India
Data Access Tech Ed India
rsnarayanan
 
Federated Identity Architectures Integrating With The Cloud
Federated Identity Architectures   Integrating With The CloudFederated Identity Architectures   Integrating With The Cloud
Federated Identity Architectures Integrating With The Cloud
rsnarayanan
 
Pnp Agile Tech Ed India
Pnp Agile Tech Ed IndiaPnp Agile Tech Ed India
Pnp Agile Tech Ed India
rsnarayanan
 
Prism Tech Ed India
Prism Tech Ed IndiaPrism Tech Ed India
Prism Tech Ed India
rsnarayanan
 

Mais de rsnarayanan (20)

Walther Aspnet4
Walther Aspnet4Walther Aspnet4
Walther Aspnet4
 
Walther Ajax4
Walther Ajax4Walther Ajax4
Walther Ajax4
 
Kevin Ms Web Platform
Kevin Ms Web PlatformKevin Ms Web Platform
Kevin Ms Web Platform
 
Harish Understanding Aspnet
Harish Understanding AspnetHarish Understanding Aspnet
Harish Understanding Aspnet
 
Walther Mvc
Walther MvcWalther Mvc
Walther Mvc
 
Harish Aspnet Dynamic Data
Harish Aspnet Dynamic DataHarish Aspnet Dynamic Data
Harish Aspnet Dynamic Data
 
Harish Aspnet Deployment
Harish Aspnet DeploymentHarish Aspnet Deployment
Harish Aspnet Deployment
 
Developing Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And ServicesDeveloping Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And Services
 
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...
 
J Query The Write Less Do More Javascript Library
J Query   The Write Less Do More Javascript LibraryJ Query   The Write Less Do More Javascript Library
J Query The Write Less Do More Javascript Library
 
Ms Sql Business Inteligence With My Sql
Ms Sql Business Inteligence With My SqlMs Sql Business Inteligence With My Sql
Ms Sql Business Inteligence With My Sql
 
Windows 7 For Developers
Windows 7 For DevelopersWindows 7 For Developers
Windows 7 For Developers
 
What Is New In Wpf 3.5 Sp1
What Is New In Wpf 3.5 Sp1What Is New In Wpf 3.5 Sp1
What Is New In Wpf 3.5 Sp1
 
Ux For Developers
Ux For DevelopersUx For Developers
Ux For Developers
 
A Lap Around Internet Explorer 8
A Lap Around Internet Explorer 8A Lap Around Internet Explorer 8
A Lap Around Internet Explorer 8
 
App Arch Guide (Dons)
App Arch Guide (Dons)App Arch Guide (Dons)
App Arch Guide (Dons)
 
Data Access Tech Ed India
Data Access   Tech Ed IndiaData Access   Tech Ed India
Data Access Tech Ed India
 
Federated Identity Architectures Integrating With The Cloud
Federated Identity Architectures   Integrating With The CloudFederated Identity Architectures   Integrating With The Cloud
Federated Identity Architectures Integrating With The Cloud
 
Pnp Agile Tech Ed India
Pnp Agile Tech Ed IndiaPnp Agile Tech Ed India
Pnp Agile Tech Ed India
 
Prism Tech Ed India
Prism Tech Ed IndiaPrism Tech Ed India
Prism Tech Ed India
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 

Netcf Gc

  • 2. App State  64K object pools  Large (>16K) and Fast free huge objects (>64K) Pool 2  Per app domain finalizer thread Pool 0 Pool 1
  • 3. Targeted towards diverse devices  Non generational mark-sweep-compaction  Highest cost is compaction ◦ Fired when fragmentation > 750K  GC can trigger code pitching  GC triggers ◦ Allocation fails ◦ Quanta of allocation ◦ User code forces GC ◦ When app goes to background
  • 4. Actively engaging with ◦ Desktop SL team ◦ Desktop CLR GC folks ◦ XNA team  Measure, measure and then measure some more  Development of tools for memory simulations
  • 5. 60% to 85% of memory in native heap with 80 MB working set ◦ Native heap allocations don’t impact GC perf ◦ Images, in native heap, dominate working set  Desktop GC inadequate in this scenario  Unsuccessfully attempted Add/Remove Memory pressure  SL drives GC  Suggested we tweak our GC to be total memory aware and expose hosting API
  • 6.
  • 7.
  • 8. Samsung Mirage 250 200 150 GC latency Garbage per sec:100K (milli sec) 100 50 0 1 2 3.2 4.3 5.5 6.7 7.8 9 10 Managed Heap Working Set OMAP - 10 mb managed data 1. Without  60ms 2. With compaction  186ms 3. 26MB Compaction  324ms
  • 9. 60-80% of working set is native  Linear degradation with increase in managed working set  Expected max is 50MB  Managed WS < 10MB generally works fine  Managed WS >100MB experiences “hangs”  UI over web-services, small data works fine  UI over large in-memory data has large startup time  Multi-media, games can have small freezes (200ms) on full GC  SL apps with lot of native memory may run into OOM even when memory can be reclaimed
  • 10. Refactoring to allow GC in-built profiles  Auto-tuning to reduce the number of GC  Configurability  Hosting changes
  • 11. Auto tune internal thresholds ◦ Collection threshold/budget ◦ Fragmentation threshold for compaction  Native allocation aware  System memory aware  Low memory state
  • 12. Support GC policies ◦ Currently limited hand tuning for entire CLR ◦ Per process GC config (*.exe.config)  Downloaded application cannot override  System applications can change Quanta, disable pitching  Add GC Hosting API’s ◦ ICLRHostManager::Collect ◦ ICLRManager::SetGCStartupLimits ◦ IHostMemoryManager::GetMemoryLoad ◦ IHostGCManager::GCNotification
  • 13. CE 6.0 memory model changes  Hand optimization  Generational GC ◦ Current data on desktop SL suggests against it
  • 14. Xbox and other large systems bring in special challenges  Per CPU heap/allocation context  Parallel GC on multi-proc systems  Pre-fetch  Current focus is Mobile scenarios
  • 15. http://blogs.msdn.com/abhinaba/archive/ta gs/Garbage+Collection/default.aspx  http://sharepointasia/sites/mobiledev/netcf/ NETCF%20Internal%20Documents/CF%20Desi gn/Proposed%20changes%20to%20Garbage% 20Collector.mht  CLRProfiler  Remote Performance Monitor

Notas do Editor

  1. Take AwayBasic understanding of how NETCF GC Works
  2. Allocation from the end (no searching for holes)
  3. Works on WinMo, CE devices, Xbox, Zune. But primarily targeted towards low-mem deviceUses grow able mark buffers with failoverCompacts when fragmentation reaches 750KCompaction based on Jonker’s (chaining) algorithmGC triggersNon-adaptive with registry tweaks
  4. Largest contributors is image