Cloud Foundry: Design and Architecture
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Jonathan Allen on Jun 17, 2010
Windows Presentation Foundation is quickly becoming well known for the ease in which memory leaks are introduced. For example, it heavily relies on weak references for its data-binding technology. Like concurrent multi-threading, weak references seem easy enough but are in fact surprisingly difficult to use correctly. Even when the actual objects are being released in a timely manner, WPF’s arrays of weak references hang around and under stress become the memory leak.
This is especially apparent when using a large number of short-lived elements. KB981107 addresses this in three areas. First, WPF can leak application-level resources for styles and templates if the control that references the resource never actually uses it. Jossef Goldberg elaborates,
An example: App resources define <sys:Double x:Key="{x:Static SystemParameters.HorizontalScrollBarHeightKey}">20</sys:Double> This creates a resource that's used by any control that can display a horizontal scrollbar. Creating a large number of such controls that never actually display their scrollbar will encounter the leak.
Another situation covered by this hotfix is when lots of short-lived elements have properties that are data-bound to a dependency property on a long-lived object. The weak reference from the long-lived object to the short-lived object is kept long after the short-lived object has been destroyed.
Unfortunately the KB981107 hotfix isn’t available for .NET 4.0 yet and Microsoft hasn’t even decided if it intends to release one. Two other hotfixes, KB967634 and KB967328 were shipped as part of .NET 4.0. so anyone on that platform doesn’t need to worry about them.
Visual Studio vNext: ALM features for Agile Planning, Team Collaboration
Automating Error Reporting for .NET Applications
Troubleshoot Java/.NET performance while getting full visibility in production
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
Andrew Watson talks about the work of the OMG, where CORBA is alive and well (hint: in your car), UML and UML Profiles vs. custom Modeling languages, DDS and other middleware, and much more.
Sohil Shah discusses creating iPhone and Android enterprise mobile applications based on cloud services using the open source platform OpenMobster.
Paul Sanford presents the transformations supported by data throughout its life cycle, and how that can be better done with Splunk, an engine for monitoring and analyzing machine-generated data.
A common “best practice” for unit tests is to only write a one assertion in each test. I intend to question this advice by showing that multiple assertions per test are both necessary and beneficial.
John Rauser presents the architectural and technological evolution of Amazon retail websites starting with 1994 and ending with adopting Amazon Web Services.
Michael Stal discusses system architecture quality, how to avoid architectural erosion, how to deal with refactoring, and design principles for architecture evolution.
Every developer has had to integrate with another system, API or component. Tis article provides strategies to handle the change and for he separating system boundaries.
No comments
Watch Thread Reply