Netflix Zuul Gets a Makeover to a Asynchronous and Non-Blocking Architecture

by Rags Srinivas on  Oct 04, 2016

Rags Srinivas caught up with engineering manager at Netflix, Mikey Cohen, regarding their major re-architecture of their Zuul gateway for microservices. Cohen talks about the journey and walks through the motivation and challenges of this significant effort.

Gil Tene: Understanding Hardware Transactional Memory

by Ralph Winzinger on  Jun 19, 2016

In his presentation "Understanding Hardware Transactional Memory" at QCon New York 2016, Gil Tene introduces hardware transactional memory (HTM). Whereas the concept of HTM is not new, it is now finally available in commodity hardware. The purpose of HTM is to be able to write to multiple addresses in memory in an atomical way so that there cannot be inconsistencies in cooperation other threads.

Lock-free Programming in C++ with Herb Sutter

by Sergio De Simone on  Oct 26, 2014

At CppCon 2014, Herb Sutter gave a talk about lock-free programming in C++ where he provided the fundamental concepts of lock-free programming, and presented three algorithms to show lock-free techniques. Here is a summary of the most relevant points in the talk.

How Immutable State Helped Facebook to Improve Its iOS App Architecture

by Sergio De Simone on  Oct 24, 2014

Facebook has been working in the last two years to evolve the architecture of its iOS app with the goal of improving performance, abstractions, and the underlying development model. Adam Ernst and Arl Grant, software engineers at Facebook, explained what issues they had to solve and how they did in a @Scale 2014 talk.

Facebook AsyncDisplayKit Touts Smooth Asynchronous UI for iOS Apps

by Sergio De Simone on  Oct 17, 2014

Facebook has open-sourced its AsyncDisplayKit, a framework originally built for Facebook's Paper app that promises to make it easier to keep apps smooth and responsive even on older devices.

.NET Goes Immutable

by Jonathan Allen on  Jan 05, 2013 9

One of the most common misunderstandings in .NET development is the idea that variables of type IEnumerable or ReadOnlyCollection are thread-safe. In order to offer truly thread-safe collections for scenarios where you would be tempted to use IEnumerable or ReadOnlyCollection, Microsoft’s Base Class Library (BCL) team is offering a preview of a new set of immutable collections.

.NET Deadlock Detection with PostSharp

by Jonathan Allen on  Sep 10, 2012 1

SharpCrafters, makers of the AOP framework PostSharp, have developed a drop-in deadlock detection toolkit. This toolkit works with most standard locking primitives such as Mutex, Monitor, and ReaderWriterLock with only a single line of code added to the project.

Vector Fabrics Introduces Pareon for Multicore Software Optimization

by Michael Stal on  Jun 09, 2012

The Dutch company Vector Fabrics recently introduced its tool called Pareon. According to the company’s press release, the tool allows to optimize applications for multicore systems.

Multithreading and WPF 4.5

by Jonathan Allen on  Jan 23, 2012 1

WPF 4.5 has improved its support for multi-threaded data binding, but the technique is still risky. This report attempts to explain how it works and what’s involved in using it safely.

Why Microsoft Believes that VB and C# Need an Asynchronous Syntax

by Jonathan Allen on  Jan 04, 2011 2

The new Async CPT for VB and C# looks like it may actually make it into the core language. But with all the emphasis on multi-core systems, why is Microsoft investing so heavily in syntax for designed specifically for making single-threaded asynchronous programming easier?

C# 4.0 "Fixes" Deadlock Issue

by David West on  Mar 11, 2009 2

C# 4.0 implemented a change that assured optimized and non -optimized compiles yielded consistent results. This "Fix" emphasized some design problems with locking mechanisms.

Concurrent Basic – A Declarative Language for Message-Based Concurrency.

by Jonathan Allen on  Mar 10, 2009

Concurrent Basic represents a possible future for Visual Basic. Though based on work done in C# research languages such as Polyphonic C# and C-Omega, Visual Basic was chosen for its inherent predisposition towards declarative programming. The syntax is even inspired by VB’s declarative event handlers.

Building a Better Thread-safe Collection

by Jonathan Allen on  Feb 25, 2009 2

Jared Parsons proposes a better thread-safe collection. By using a design pattern that strongly encourages, but not enforces, thread-safety, his API is both easy to use and easy to understand.

Replacing the ThreadPool with Tasks, Continuations, and Futures

by Jonathan Allen on  Feb 04, 2009 2

.NET 4 is adding support for tasks. Tasks are lightweight units of work much like queue work items, but with support for waits, continuations, and futures. Tasks can also support parent-child relationships with waits and cancellations being automatically threaded through them.

Article: Using the Concurrency and Coordination Runtime

by Jonathan Allen on  Jan 28, 2009 5

Nick Gunn provides a practical introduction Using the Concurrency and Coordination Runtime. CCR radically changes the way multi-threaded applications are written in .NET, shifting the focus from threads and locks to lightweight, asynchronous tasks. The Concurrency and Coordination Runtime, also known as CCR, offers actor-style concurrency for .NET applications.