# Open and Closed, Omission and Collapse

DevFeed: [Open and Closed, Omission and Collapse](<https://devfeed.tech/articles/open-and-closed-omission-and-collapse-12537.md>)

Original publisher: [Read original article](<http://brooker.co.za/blog/2023/05/10/open-closed.html>)

Author: Marc Brooker

Published: 2023-05-10T00:00:00Z

Content type: article

Language: en

Sources: [Marc Brooker's Blog](<https://devfeed.tech/sources/marc-brooker-s-blog.md>), [Marc Brooker's Blog](<https://devfeed.tech/sources/marc-brooker-s-blog-2.md>)

Topics: [systems](<https://devfeed.tech/topics/systems.md>), [benchmarking](<https://devfeed.tech/topics/benchmarking.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [client](<https://devfeed.tech/topics/client.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [benchmarking](<https://devfeed.tech/tags/benchmarking.md>), [latency](<https://devfeed.tech/tags/latency.md>), [measurement](<https://devfeed.tech/tags/measurement.md>), [performance](<https://devfeed.tech/tags/performance.md>), [server](<https://devfeed.tech/tags/server.md>), [systems](<https://devfeed.tech/tags/systems.md>)

## AI overview

The article explains how open and closed workload-generation models affect systems performance measurement, benchmarking, and stability. It compares client-observed latency under closed and open arrival processes, showing that open systems generally produce higher mean response times and longer latency tails at the same load, especially when server behavior includes occasional slow requests.

## Source excerpt

Open and Closed, Omission and Collapse Were you born in a cave? This, from Open Versus Closed: A Cautionary Tale by Schroeder et al1 is one of the most important concepts in systems performance: Workload generators may be classified as based on a closed system model, where new job arrivals are only triggered by job completions (followed by think time), or an open system model, where new jobs arrive independently of job completions. In general, system designers pay little attention to whether a workload generator is closed or open. Or, if you'd prefer it as an image, from the same paper: While the paper does a good job explaining why it's so important, I don't think it even fully justifies what a big difference the open and closed modes of operation have on measurement, benchmarking, and system stability. Some Examples Let's consider a very simple system, along the lines of the one in the image above: a single server, an unbounded queue, and either open or closed customer arrival processes. First, we'll consider an easy case, where the server latency is exponentially distributed with a mean of 0.1ms. What does the client-observed latency look like for a single-client closed system, closed system with 10 clients, or an open system with a Poisson arrival process?6 To answer that question, we need to pick a value for the server utilization ($\rho$), the proportion of the time the server is busy. Here, we consider the case where the server is busy 80% of the time ($\rho = 0.8$)2: This illustrates one of the principles from the paper: Principle (i): For a given load, mean response times are significantly lower in closed systems than in open systems. but it also shows us something else: the tail is much longer for the open case than the closed one. We can see more of that if we zoom in on just the tail of the latency distribution (percentiles higher than the 90th): This difference is even more stark if we consider a server-side distribution with worse behavior. Say, for ex