<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: meteorfox</title><link>https://news.ycombinator.com/user?id=meteorfox</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 19 Jun 2026 22:13:40 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=meteorfox" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by meteorfox in "How Facebook encodes videos"]]></title><description><![CDATA[
<p>Facebook does have hardware for video transcoding. [1] <a href="https://youtu.be/0yk4SPRisPA" rel="nofollow">https://youtu.be/0yk4SPRisPA</a></p>
]]></description><pubDate>Sun, 25 Apr 2021 21:59:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=26937109</link><dc:creator>meteorfox</dc:creator><comments>https://news.ycombinator.com/item?id=26937109</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26937109</guid></item><item><title><![CDATA[New comment by meteorfox in "Web Service Efficiency at Instagram with Python"]]></title><description><![CDATA[
<p>This part I'm skeptical:<p><pre><code>  "Compared to CPU time, CPU instruction is a better metric,
  as it reports the same numbers regardless of CPU models
  and CPU loads for the same request."
</code></pre>
CPU instructions will be more stable than CPU time for sure, and
it does show that their metric is stable based on their
chart but a single CPU instruction can take multiple cycles, especially
if there are stalls in the pipeline or other processes are "polluting"
the cache. Depending on the CPU model, the number of uops that can be issued
concurrently varies, and the latency of these instructions will also vary on
the size, and access pattern to their memory hierarchy.<p>Also, what about a change in compiler version? That can also vary the number
of instructions. Unless they are referring to a Python bytecode instruction
as a CPU instruction.<p>Would measuring CPI be a better indicative of their efficiency? They could
also track both, no need to settle for one.</p>
]]></description><pubDate>Tue, 21 Jun 2016 21:34:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=11949578</link><dc:creator>meteorfox</dc:creator><comments>https://news.ycombinator.com/item?id=11949578</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11949578</guid></item><item><title><![CDATA[New comment by meteorfox in "Nomad Million Container Challenge"]]></title><description><![CDATA[
<p>It's really impressive that it can handle these many container placements.<p>But, honest question, what's the value of determining how fast can we schedule a million containers? This question is not just for Nomad but other cluster managers as well that have recently published similar benchmarks.<p>I see the value of scheduling thousands to perhaps hundreds of thousands of containers across many nodes, but millions seem excessive.<p>I think that is more valuable to measure what happens after you have 1 million containers running on your cluster. Such as:
- What is the overhead keeping track of that many containers?
- How do they impact the responsiveness of other API calls (list, delete)?
- What happens when nodes go down and suddenly you lose a considerable amount of containers, can it recover quickly?
- How does it impact the performance of running containers in the cluster?<p>Also, there are other important factors to test for:
- what about image size? How does it impact scheduling time when non-cached?
- container density per node
- number of nodes
- what about scheduling other workloads that Nomad support, like VMs and runtimes?</p>
]]></description><pubDate>Thu, 17 Mar 2016 20:18:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=11307252</link><dc:creator>meteorfox</dc:creator><comments>https://news.ycombinator.com/item?id=11307252</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11307252</guid></item><item><title><![CDATA[New comment by meteorfox in "Scale Testing Docker Swarm to 30,000 Containers"]]></title><description><![CDATA[
<p>Besides that, why are all these response time numbers multiple of 10, are these rounded up, or is it the precision of the timestamps used to compute these?</p>
]]></description><pubDate>Mon, 16 Nov 2015 22:27:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=10577726</link><dc:creator>meteorfox</dc:creator><comments>https://news.ycombinator.com/item?id=10577726</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10577726</guid></item><item><title><![CDATA[New comment by meteorfox in "How Not to Measure Latency [pdf]"]]></title><description><![CDATA[
<p>The explanations here gave a lot of details on the effect, but IMHO, not as many details in the cause of Coordinated Omission (CO). Most of what I'll be saying here comes from a CMU's paper titled "Open vs Closed: A Cautionary Tale"[1] and from Gil Tene's talk.<p>First, some terminology which I think is important for the discussion, also when I say 'job' this could be something like a user, HTTP request, RPC call, network packet, or some sort of task the system is asked to do, and can accomplish in some finite amount of time.<p>Closed-loop system, aka closed system - is a system where new job arrivals are only triggered by job completions, some examples are interactive terminal, batch systems like a CI build system.<p>Open-loop system, aka open system - is a system where new job arrivals are independent of job completions, some examples are the requesting the front page of Hacker news, or arriving packets to a network switch.<p>Partly-open system - is a system where new jobs arrive by some outside process as in an open system, and every time a job completes there is a probability <i>p</i> it makes a follow-up request, or probability <i>(1 - p)</i> it leaves the system. Some examples are web applications, where users request a page, and make follow-up requests, but each user is independent, and new users are arriving and leaving in their own.<p>Second, workload generators (e.g. JMeter, ab, Gatling, etc) can also be classified similarly. Workload generators that issue a request, and then block to wait for a response before making the next request are based on a closed system (e.g. JMeter[2], ab). Those generators that continue to issue requests independently of the response rate, regardless of the system throughput, are based on an open system (e.g. Gatling, wrk2[3])<p>Now, CO happens whenever a workload generator based on a closed system is used against an open system or partly open system, and the throughput of the system under load is slower than the injection rate of the workload generator.<p>For the sake of simplicity, assume we have an open system, say a simple web page, where multiple users arrive by some probability distribution and simply request the page, and then 'leave'. Assume the arrival probability distribution is uniform, where the <i>p</i> is 1.0 that a request will arrive every second.<p>In this example, if we use a workload generator based on a closed system to simulate this workload for 100 seconds, and the system under load never slows downs so it continuous to serve a response under 1 second, say that is always 500 ms. Then there's no CO here. In the end, we will have 100 samples of response times of 500ms, all the statistics (min, max, avg, etc) will be 500ms.<p>Now, say we are using the same workload generator at an injection rate of 1 request/s, but this time the system under load for the first 50 seconds will behave as before with responses taking 500 ms, and for the later 50 seconds the system stalls.<p>Since the system under load is an open system, we should expect 50 samples of response times with 500 ms, and 50 samples where response times linearly decrease from 50s to 1s. The statistics then would be<p>min=500ms, max=50s, avg=13s, median=0.75s, 90%ile=45.05s<p>But because we used a closed system workload generator, our samples are skewed. Instead, we get 50 samples of 500ms and only 1 samples of 50 seconds! This happens because the injection rate is slowed down by the response rate of the system. As you can see this is not even the workload we intended because essentially our workload generator backed off when the system stalled. The stats now look like this:<p>min=500ms, max=50s, avg=1.47s, median=500ms, 90%ile=500ms.<p>[1][pdf] <a href="http://repository.cmu.edu/cgi/viewcontent.cgi?article=1872&context=compsci" rel="nofollow">http://repository.cmu.edu/cgi/viewcontent.cgi?article=1872&c...</a>
[2] <a href="http://jmeter.512774.n5.nabble.com/Coordinated-Omission-CO-possible-strategies-td5718456.html" rel="nofollow">http://jmeter.512774.n5.nabble.com/Coordinated-Omission-CO-p...</a>
[3] <a href="https://github.com/giltene/wrk2" rel="nofollow">https://github.com/giltene/wrk2</a></p>
]]></description><pubDate>Sun, 01 Nov 2015 17:39:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=10487223</link><dc:creator>meteorfox</dc:creator><comments>https://news.ycombinator.com/item?id=10487223</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10487223</guid></item><item><title><![CDATA[New comment by meteorfox in "The Curse of the First-In First-Out Queue Discipline (2012) [pdf]"]]></title><description><![CDATA[
<p>Also for those who enjoyed this paper, I think you will also like CMU's Prof. Mor Harchol-Balter's book[1] on queuing theory applied for designing, and analyzing performance of, computer systems.<p>Personally, I don't know of any other book that covers so well the application of queuing theory to computer systems.<p>[1] <a href="http://www.cs.cmu.edu/~harchol/PerformanceModeling/book.html" rel="nofollow">http://www.cs.cmu.edu/~harchol/PerformanceModeling/book.html</a></p>
]]></description><pubDate>Fri, 11 Sep 2015 20:29:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=10206006</link><dc:creator>meteorfox</dc:creator><comments>https://news.ycombinator.com/item?id=10206006</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10206006</guid></item><item><title><![CDATA[New comment by meteorfox in "The Curse of the First-In First-Out Queue Discipline (2012) [pdf]"]]></title><description><![CDATA[
<p>I'm trying to relate this back to computer systems if its even possible, say comparing it to scheduling block requests from multiple processes to a block device, if the LIFO discipline maximizes welfare, I assume welfare in such system would be average response time, where response time here = queue time + service time of the block requests. When the block device is saturated and starts queuing, I guess one benefit would be that the block requests with the smallest waiting time would be served first, and improve responsiveness, but unless some kind of deadline is added you might have long tail where certain block requests don't get to be serviced.<p>But since the paper assume there's an opening time, perhaps then is not applicable for the block device example I gave above, maybe a more comparable example would be a traffic spike to a web application after some announcement, and how an http framework/library might 'choose' http requests to service. My understanding is that most framework/libraries just implicitly delegate to the OS process scheduler.</p>
]]></description><pubDate>Fri, 11 Sep 2015 20:10:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=10205890</link><dc:creator>meteorfox</dc:creator><comments>https://news.ycombinator.com/item?id=10205890</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10205890</guid></item><item><title><![CDATA[When to use classes vs. when to use structs]]></title><description><![CDATA[
<p>Article URL: <a href="http://somethingdoneright.net/2015/07/30/when-object-orientation-works-a-rule-of-thumb.html">http://somethingdoneright.net/2015/07/30/when-object-orientation-works-a-rule-of-thumb.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=9979959">https://news.ycombinator.com/item?id=9979959</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 31 Jul 2015 04:41:40 +0000</pubDate><link>http://somethingdoneright.net/2015/07/30/when-object-orientation-works-a-rule-of-thumb.html</link><dc:creator>meteorfox</dc:creator><comments>https://news.ycombinator.com/item?id=9979959</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9979959</guid></item><item><title><![CDATA[New comment by meteorfox in "Computer scientists prove that a 40-year-old algorithm is optimal"]]></title><description><![CDATA[
<p>Thanks! I don't understand why the MIT News article has no links to the sources.</p>
]]></description><pubDate>Thu, 11 Jun 2015 13:18:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=9699491</link><dc:creator>meteorfox</dc:creator><comments>https://news.ycombinator.com/item?id=9699491</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9699491</guid></item><item><title><![CDATA[New comment by meteorfox in "Google: 90% of our engineers use the software you wrote (Homebrew), but..."]]></title><description><![CDATA[
<p>I understand your point, and I'm not trying to be a troll.<p>Humans are more complex than that. I don't think you can assume that candidates will perform the same all the time. Sometimes an excellent candidate can perform badly for multiple reasons (e.g. nervousness, poor preparation, bad interviewer, personal problems, etc).<p>It seems to me, that rejecting a good candidate, and have him/her interview again after some time, if that candidate was a 'good-hire', then it would increase the chance of hiring him/her, since it is most likely they will prepare better, and know what to expect.</p>
]]></description><pubDate>Thu, 11 Jun 2015 02:19:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=9697074</link><dc:creator>meteorfox</dc:creator><comments>https://news.ycombinator.com/item?id=9697074</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9697074</guid></item><item><title><![CDATA[New comment by meteorfox in "How to Generate Millions of HTTP Requests (2012)"]]></title><description><![CDATA[
<p>Check out Gatling[1], which is based on Scala, Akka, and Netty, and last time I checked works on Windows.<p>The only thing missing would be an out-of-box solution for distributed load generation, which I believe is being developed. But today, you can use a 'scale-out' approach[2] which gives you the ability to combine the data from multiple Gatling instances into a single report, but as a post-process step.<p>[1] <a href="http://gatling.io" rel="nofollow">http://gatling.io</a>
[2] <a href="http://gatling.io/docs/2.1.5/cookbook/scaling_out.html" rel="nofollow">http://gatling.io/docs/2.1.5/cookbook/scaling_out.html</a></p>
]]></description><pubDate>Wed, 29 Apr 2015 21:40:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=9462007</link><dc:creator>meteorfox</dc:creator><comments>https://news.ycombinator.com/item?id=9462007</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9462007</guid></item><item><title><![CDATA[New comment by meteorfox in "How to Generate Millions of HTTP Requests (2012)"]]></title><description><![CDATA[
<p>There's a branch from Gil Tene (Azul) that fixes wrk for the coordinated omission problem, which he explains in the readme of that same repo[1].<p>[1] <a href="https://github.com/giltene/wrk2" rel="nofollow">https://github.com/giltene/wrk2</a></p>
]]></description><pubDate>Wed, 29 Apr 2015 21:31:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=9461953</link><dc:creator>meteorfox</dc:creator><comments>https://news.ycombinator.com/item?id=9461953</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9461953</guid></item><item><title><![CDATA[New comment by meteorfox in "VPS Disk Performance, Digital Ocean vs. Linode"]]></title><description><![CDATA[
<p>It seems to me that the workloads on Digital Ocean are not fully utilizing the block device. FIO shows about 50% util for  DO, and 81% for Linode on the queue depth=1 test, and 70%/82%, respectively, on the queue depth=8 test. Which seems to indicate a bottle neck somewhere else (at least on DO), and that seems to align with OP's statement at the end, where it seems DO is being capped. Also as it was pointed out, the sizes of these VPS are not even mentioned, and most likely the  working set size of 128MB, might be either too small or too big for any of these VPS, making even harder to see the value of these results.<p>Brendan Gregg has excellent info on these topics,<p><a href="http://www.joyent.com/blog/benchmarking-the-cloud" rel="nofollow">http://www.joyent.com/blog/benchmarking-the-cloud</a>
<a href="http://dtrace.org/blogs/brendan/2011/05/11/file-system-latency-part-1/" rel="nofollow">http://dtrace.org/blogs/brendan/2011/05/11/file-system-laten...</a>
<a href="http://dtrace.org/blogs/brendan/2012/10/23/active-benchmarking/" rel="nofollow">http://dtrace.org/blogs/brendan/2012/10/23/active-benchmarki...</a></p>
]]></description><pubDate>Mon, 03 Feb 2014 02:28:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=7168496</link><dc:creator>meteorfox</dc:creator><comments>https://news.ycombinator.com/item?id=7168496</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=7168496</guid></item><item><title><![CDATA[New comment by meteorfox in "Light Table Playground Levels Up"]]></title><description><![CDATA[
<p>I'm having a similar issue, but I already tried 0.0.4, this is what I got, it seems it can't find clojure 1.5.0 jar.<p><a href="https://gist.github.com/3078651" rel="nofollow">https://gist.github.com/3078651</a></p>
]]></description><pubDate>Mon, 09 Jul 2012 20:19:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=4220174</link><dc:creator>meteorfox</dc:creator><comments>https://news.ycombinator.com/item?id=4220174</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4220174</guid></item><item><title><![CDATA[Learn a language for free, and help translate the web]]></title><description><![CDATA[
<p>Article URL: <a href="http://www.duolingo.com">http://www.duolingo.com</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=3322868">https://news.ycombinator.com/item?id=3322868</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 07 Dec 2011 07:05:20 +0000</pubDate><link>http://www.duolingo.com</link><dc:creator>meteorfox</dc:creator><comments>https://news.ycombinator.com/item?id=3322868</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=3322868</guid></item></channel></rss>