do you think www.aws.org runs on aws?
I'm trying some experimental tiers on Patreon to see if I can get to substack-like levels of financial support for this blog without moving to substack ! A decade of major cache incidents at Twitter This was co-authored with Yao Yue This is a collection of information on severe ( SEV-0 or SEV-1 , the most severe incident classifications) incidents at Twitter that were at least partially attributed to cache from the time Twitter started using its current incident tracking JIRA (2012) to date (2022), with one bonus incident from before 2012. Not including the bonus incident, there were 6 SEV-0 s and 6 SEV-1 s that were at least partially attributed to cache in the incident tracker, along with 38 less severe incidents that aren't discussed in this post. There are a couple reasons we want to write this down. First, historical knowledge about what happens at tech companies is lost at a...
For those inter st in the finest writing of all time https://www-allure-com.cdn.ampproject.org/v/s/www.allure.com/story/best-sex-tip-by-zodiac-sign/amp?amp_gsa=1&_js_v=a6&usqp=mq331AQKKAFQArABIIACAw%3D%3D#amp_tf=From%20%251%24s&aoh=16392879347932&referrer=https%3A%2F%2Fwww.google.com&share=https%3A%2F%2Fwww.allure.com%2Fstory%2Fbest-sex-tip-by-zodiac-sign
<![endif] RSS Blog Archive (by date) Archive (by popularity) About Dec 4 th , 2014 Let’s write a malloc and see how it works with existing programs! This tutorial is going to assume that you know what pointers are, and that you know enough C to know that *ptr dereferences a pointer, ptr->foo means (*ptr).foo , that malloc is used to dynamically allocate space , and that you’re familiar with the concept of a linked list. If you decide to work through this tutorial without really knowing C, please let me know what parts could use more exposition. If you want to look at all of this code at once, it’s available here . Preliminaries aside, malloc’s function signature is void *malloc(size_t size); It takes as input a number of bytes and returns a pointer to a block of memory of that size. There are a number of ways we can implement this. We’re going to arbitrarily choose ...
<![endif] RSS Blog Archive (by date) Archive (by popularity) About Dec 4 th , 2014 Let’s write a malloc and see how it works with existing programs! This tutorial is going to assume that you know what pointers are, and that you know enough C to know that *ptr dereferences a pointer, ptr->foo means (*ptr).foo , that malloc is used to dynamically allocate space , and that you’re familiar with the concept of a linked list. If you decide to work through this tutorial without really knowing C, please let me know what parts could use more exposition. If you want to look at all of this code at once, it’s available here . The tests are from Andrew Roth, who had a github repo lying around with some tests for malloc. Preliminaries aside, malloc’s function signature is void *malloc(size_t size); It takes as input a number of bytes and returns a pointer to a block of memory of t...
<![endif] RSS Blog Madison Hack&Tell; Archives About Jan 2 nd , 2014 Here’s the graph of a toy benchmark 1 of page-aligned vs. mis-aligned accesses; it shows a ratio of performance between the two at different working set sizes. If this benchmark seems contrived, it actually comes from a real world example of the disastrous performance implications of using nice power of 2 alignment, or page aligment in an actual system 2 . Except for very small working sets (1-8), the unaligned version is noticeably faster than the page-aligned version, and there’s a large region up to a working set size of 512 where the ratio in performance is somewhat stable, but moreso on our Sandy Bridge chip than our Westmere chip. To understand what’s going on here, we have to look at how caches organize data. By way of analogy, consider a 1,000 car parking garage that has 10,000 permits...