Files
nexus/sreweekly/articles/503/04-mitigating-application-resource-overload-with-targeted-task-cancellati.html
2026-09-12 17:23:01 +08:00

3857 lines
179 KiB
HTML

<!DOCTYPE html>
<html dir='ltr' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<title>Mitigating Application Resource Overload with Targeted Task Cancellation</title>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<!-- Chrome, Firefox OS and Opera -->
<meta content='#eeeeee' name='theme-color'/>
<!-- Windows Phone -->
<meta content='#eeeeee' name='msapplication-navbutton-color'/>
<meta content='blogger' name='generator'/>
<link href='https://muratbuffalo.blogspot.com/favicon.ico' rel='icon' type='image/x-icon'/>
<link href='http://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html' rel='canonical'/>
<link rel="alternate" type="application/atom+xml" title="Metadata - Atom" href="https://muratbuffalo.blogspot.com/feeds/posts/default" />
<link rel="alternate" type="application/rss+xml" title="Metadata - RSS" href="https://muratbuffalo.blogspot.com/feeds/posts/default?alt=rss" />
<link rel="service.post" type="application/atom+xml" title="Metadata - Atom" href="https://draft.blogger.com/feeds/8436330762136344379/posts/default" />
<link rel="alternate" type="application/atom+xml" title="Metadata - Atom" href="https://muratbuffalo.blogspot.com/feeds/7900407123867436342/comments/default" />
<!--Can't find substitution for tag [blog.ieCssRetrofitLinks]-->
<link href='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyACQkUtydHjYT4HG_V4lbw6NfTUc3NsZNopHj3GFnPq8yx4pkUh-OwZh8EUWZ3RaSl5Tks5f2Q1EgQtQy46MQV6CbKL7dQ5ohTZGj8W9kqdzipQKlLpuWkbDAHnw59satbRcFEBWBqYIKaaxf5ji8hjOSnE-42ZFVL0NUpHfcGsUXoBNGX0solhJfsFI/w400-h288/Screenshot%202025-11-24%20at%2010.27.24%E2%80%AFPM.png' rel='image_src'/>
<meta content='http://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html' property='og:url'/>
<meta content='Mitigating Application Resource Overload with Targeted Task Cancellation' property='og:title'/>
<meta content='The Atropos paper (SOSP&#39;25) argues that overload-control systems are built on a flawed assumption. They monitor global signals (like queue ...' property='og:description'/>
<meta content='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyACQkUtydHjYT4HG_V4lbw6NfTUc3NsZNopHj3GFnPq8yx4pkUh-OwZh8EUWZ3RaSl5Tks5f2Q1EgQtQy46MQV6CbKL7dQ5ohTZGj8W9kqdzipQKlLpuWkbDAHnw59satbRcFEBWBqYIKaaxf5ji8hjOSnE-42ZFVL0NUpHfcGsUXoBNGX0solhJfsFI/w1200-h630-p-k-no-nu/Screenshot%202025-11-24%20at%2010.27.24%E2%80%AFPM.png' property='og:image'/>
<style type='text/css'>@font-face{font-family:'Damion';font-style:normal;font-weight:400;font-display:swap;src:url(//fonts.gstatic.com/s/damion/v15/hv-XlzJ3KEUe_YZkZGw2EzJwV9J-.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Damion';font-style:normal;font-weight:400;font-display:swap;src:url(//fonts.gstatic.com/s/damion/v15/hv-XlzJ3KEUe_YZkamw2EzJwVw.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:900;font-display:swap;src:url(//fonts.gstatic.com/s/playfairdisplay/v40/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKfsunDTbtPK-F2qC0usEw.woff2)format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:900;font-display:swap;src:url(//fonts.gstatic.com/s/playfairdisplay/v40/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKfsunDYbtPK-F2qC0usEw.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:900;font-display:swap;src:url(//fonts.gstatic.com/s/playfairdisplay/v40/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKfsunDZbtPK-F2qC0usEw.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:900;font-display:swap;src:url(//fonts.gstatic.com/s/playfairdisplay/v40/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKfsunDXbtPK-F2qC0s.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAX-k3Yi128m0kN2.woff2)format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAz-k3Yi128m0kN2.woff2)format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAT-k3Yi128m0kN2.woff2)format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAv-k3Yi128m0kN2.woff2)format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuHT-k3Yi128m0kN2.woff2)format('woff2');unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuGb-k3Yi128m0kN2.woff2)format('woff2');unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAf-k3Yi128m0kN2.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAb-k3Yi128m0kN2.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAj-k3Yi128m0g.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBHMdazTgWw.woff2)format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBHMdazTgWw.woff2)format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBHMdazQ.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBHMdazTgWw.woff2)format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBHMdazTgWw.woff2)format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBHMdazQ.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}</style>
<style id='page-skin-1' type='text/css'><!--
/*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}
/*!************************************************
* Blogger Template Style
* Name: Contempo
**************************************************/
body{
overflow-wrap:break-word;
word-break:break-word;
word-wrap:break-word
}
.hidden{
display:none
}
.invisible{
visibility:hidden
}
.container::after,.float-container::after{
clear:both;
content:'';
display:table
}
.clearboth{
clear:both
}
#comments .comment .comment-actions,.subscribe-popup .FollowByEmail .follow-by-email-submit,.widget.Profile .profile-link,.widget.Profile .profile-link.visit-profile{
background:0 0;
border:0;
box-shadow:none;
color:#2196f3;
cursor:pointer;
font-size:14px;
font-weight:700;
outline:0;
text-decoration:none;
text-transform:uppercase;
width:auto
}
.dim-overlay{
background-color:rgba(0,0,0,.54);
height:100vh;
left:0;
position:fixed;
top:0;
width:100%
}
#sharing-dim-overlay{
background-color:transparent
}
input::-ms-clear{
display:none
}
.blogger-logo,.svg-icon-24.blogger-logo{
fill:#ff9800;
opacity:1
}
.loading-spinner-large{
-webkit-animation:mspin-rotate 1.568s infinite linear;
animation:mspin-rotate 1.568s infinite linear;
height:48px;
overflow:hidden;
position:absolute;
width:48px;
z-index:200
}
.loading-spinner-large>div{
-webkit-animation:mspin-revrot 5332ms infinite steps(4);
animation:mspin-revrot 5332ms infinite steps(4)
}
.loading-spinner-large>div>div{
-webkit-animation:mspin-singlecolor-large-film 1333ms infinite steps(81);
animation:mspin-singlecolor-large-film 1333ms infinite steps(81);
background-size:100%;
height:48px;
width:3888px
}
.mspin-black-large>div>div,.mspin-grey_54-large>div>div{
background-image:url(https://www.blogblog.com/indie/mspin_black_large.svg)
}
.mspin-white-large>div>div{
background-image:url(https://www.blogblog.com/indie/mspin_white_large.svg)
}
.mspin-grey_54-large{
opacity:.54
}
@-webkit-keyframes mspin-singlecolor-large-film{
from{
-webkit-transform:translateX(0);
transform:translateX(0)
}
to{
-webkit-transform:translateX(-3888px);
transform:translateX(-3888px)
}
}
@keyframes mspin-singlecolor-large-film{
from{
-webkit-transform:translateX(0);
transform:translateX(0)
}
to{
-webkit-transform:translateX(-3888px);
transform:translateX(-3888px)
}
}
@-webkit-keyframes mspin-rotate{
from{
-webkit-transform:rotate(0);
transform:rotate(0)
}
to{
-webkit-transform:rotate(360deg);
transform:rotate(360deg)
}
}
@keyframes mspin-rotate{
from{
-webkit-transform:rotate(0);
transform:rotate(0)
}
to{
-webkit-transform:rotate(360deg);
transform:rotate(360deg)
}
}
@-webkit-keyframes mspin-revrot{
from{
-webkit-transform:rotate(0);
transform:rotate(0)
}
to{
-webkit-transform:rotate(-360deg);
transform:rotate(-360deg)
}
}
@keyframes mspin-revrot{
from{
-webkit-transform:rotate(0);
transform:rotate(0)
}
to{
-webkit-transform:rotate(-360deg);
transform:rotate(-360deg)
}
}
.skip-navigation{
background-color:#fff;
box-sizing:border-box;
color:#000;
display:block;
height:0;
left:0;
line-height:50px;
overflow:hidden;
padding-top:0;
position:fixed;
text-align:center;
top:0;
-webkit-transition:box-shadow .3s,height .3s,padding-top .3s;
transition:box-shadow .3s,height .3s,padding-top .3s;
width:100%;
z-index:900
}
.skip-navigation:focus{
box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);
height:50px
}
#main{
outline:0
}
.main-heading{
position:absolute;
clip:rect(1px,1px,1px,1px);
padding:0;
border:0;
height:1px;
width:1px;
overflow:hidden
}
.Attribution{
margin-top:1em;
text-align:center
}
.Attribution .blogger img,.Attribution .blogger svg{
vertical-align:bottom
}
.Attribution .blogger img{
margin-right:.5em
}
.Attribution div{
line-height:24px;
margin-top:.5em
}
.Attribution .copyright,.Attribution .image-attribution{
font-size:.7em;
margin-top:1.5em
}
.BLOG_mobile_video_class{
display:none
}
.bg-photo{
background-attachment:scroll!important
}
body .CSS_LIGHTBOX{
z-index:900
}
.extendable .show-less,.extendable .show-more{
border-color:#2196f3;
color:#2196f3;
margin-top:8px
}
.extendable .show-less.hidden,.extendable .show-more.hidden{
display:none
}
.inline-ad{
display:none;
max-width:100%;
overflow:hidden
}
.adsbygoogle{
display:block
}
#cookieChoiceInfo{
bottom:0;
top:auto
}
iframe.b-hbp-video{
border:0
}
.post-body img{
max-width:100%
}
.post-body iframe{
max-width:100%
}
.post-body a[imageanchor="1"]{
display:inline-block
}
.byline{
margin-right:1em
}
.byline:last-child{
margin-right:0
}
.link-copied-dialog{
max-width:520px;
outline:0
}
.link-copied-dialog .modal-dialog-buttons{
margin-top:8px
}
.link-copied-dialog .goog-buttonset-default{
background:0 0;
border:0
}
.link-copied-dialog .goog-buttonset-default:focus{
outline:0
}
.paging-control-container{
margin-bottom:16px
}
.paging-control-container .paging-control{
display:inline-block
}
.paging-control-container .comment-range-text::after,.paging-control-container .paging-control{
color:#2196f3
}
.paging-control-container .comment-range-text,.paging-control-container .paging-control{
margin-right:8px
}
.paging-control-container .comment-range-text::after,.paging-control-container .paging-control::after{
content:'\00B7';
cursor:default;
padding-left:8px;
pointer-events:none
}
.paging-control-container .comment-range-text:last-child::after,.paging-control-container .paging-control:last-child::after{
content:none
}
.byline.reactions iframe{
height:20px
}
.b-notification{
color:#000;
background-color:#fff;
border-bottom:solid 1px #000;
box-sizing:border-box;
padding:16px 32px;
text-align:center
}
.b-notification.visible{
-webkit-transition:margin-top .3s cubic-bezier(.4,0,.2,1);
transition:margin-top .3s cubic-bezier(.4,0,.2,1)
}
.b-notification.invisible{
position:absolute
}
.b-notification-close{
position:absolute;
right:8px;
top:8px
}
.no-posts-message{
line-height:40px;
text-align:center
}
@media screen and (max-width:800px){
body.item-view .post-body a[imageanchor="1"][style*="float: left;"],body.item-view .post-body a[imageanchor="1"][style*="float: right;"]{
float:none!important;
clear:none!important
}
body.item-view .post-body a[imageanchor="1"] img{
display:block;
height:auto;
margin:0 auto
}
body.item-view .post-body>.separator:first-child>a[imageanchor="1"]:first-child{
margin-top:20px
}
.post-body a[imageanchor]{
display:block
}
body.item-view .post-body a[imageanchor="1"]{
margin-left:0!important;
margin-right:0!important
}
body.item-view .post-body a[imageanchor="1"]+a[imageanchor="1"]{
margin-top:16px
}
}
.item-control{
display:none
}
#comments{
border-top:1px dashed rgba(0,0,0,.54);
margin-top:20px;
padding:20px
}
#comments .comment-thread ol{
margin:0;
padding-left:0;
padding-left:0
}
#comments .comment .comment-replybox-single,#comments .comment-thread .comment-replies{
margin-left:60px
}
#comments .comment-thread .thread-count{
display:none
}
#comments .comment{
list-style-type:none;
padding:0 0 30px;
position:relative
}
#comments .comment .comment{
padding-bottom:8px
}
.comment .avatar-image-container{
position:absolute
}
.comment .avatar-image-container img{
border-radius:50%
}
.avatar-image-container svg,.comment .avatar-image-container .avatar-icon{
border-radius:50%;
border:solid 1px #707070;
box-sizing:border-box;
fill:#707070;
height:35px;
margin:0;
padding:7px;
width:35px
}
.comment .comment-block{
margin-top:10px;
margin-left:60px;
padding-bottom:0
}
#comments .comment-author-header-wrapper{
margin-left:40px
}
#comments .comment .thread-expanded .comment-block{
padding-bottom:20px
}
#comments .comment .comment-header .user,#comments .comment .comment-header .user a{
color:#212121;
font-style:normal;
font-weight:700
}
#comments .comment .comment-actions{
bottom:0;
margin-bottom:15px;
position:absolute
}
#comments .comment .comment-actions>*{
margin-right:8px
}
#comments .comment .comment-header .datetime{
bottom:0;
color:rgba(33,33,33,.54);
display:inline-block;
font-size:13px;
font-style:italic;
margin-left:8px
}
#comments .comment .comment-footer .comment-timestamp a,#comments .comment .comment-header .datetime a{
color:rgba(33,33,33,.54)
}
#comments .comment .comment-content,.comment .comment-body{
margin-top:12px;
word-break:break-word
}
.comment-body{
margin-bottom:12px
}
#comments.embed[data-num-comments="0"]{
border:0;
margin-top:0;
padding-top:0
}
#comments.embed[data-num-comments="0"] #comment-post-message,#comments.embed[data-num-comments="0"] div.comment-form>p,#comments.embed[data-num-comments="0"] p.comment-footer{
display:none
}
#comment-editor-src{
display:none
}
.comments .comments-content .loadmore.loaded{
max-height:0;
opacity:0;
overflow:hidden
}
.extendable .remaining-items{
height:0;
overflow:hidden;
-webkit-transition:height .3s cubic-bezier(.4,0,.2,1);
transition:height .3s cubic-bezier(.4,0,.2,1)
}
.extendable .remaining-items.expanded{
height:auto
}
.svg-icon-24,.svg-icon-24-button{
cursor:pointer;
height:24px;
width:24px;
min-width:24px
}
.touch-icon{
margin:-12px;
padding:12px
}
.touch-icon:active,.touch-icon:focus{
background-color:rgba(153,153,153,.4);
border-radius:50%
}
svg:not(:root).touch-icon{
overflow:visible
}
html[dir=rtl] .rtl-reversible-icon{
-webkit-transform:scaleX(-1);
-ms-transform:scaleX(-1);
transform:scaleX(-1)
}
.svg-icon-24-button,.touch-icon-button{
background:0 0;
border:0;
margin:0;
outline:0;
padding:0
}
.touch-icon-button .touch-icon:active,.touch-icon-button .touch-icon:focus{
background-color:transparent
}
.touch-icon-button:active .touch-icon,.touch-icon-button:focus .touch-icon{
background-color:rgba(153,153,153,.4);
border-radius:50%
}
.Profile .default-avatar-wrapper .avatar-icon{
border-radius:50%;
border:solid 1px #707070;
box-sizing:border-box;
fill:#707070;
margin:0
}
.Profile .individual .default-avatar-wrapper .avatar-icon{
padding:25px
}
.Profile .individual .avatar-icon,.Profile .individual .profile-img{
height:120px;
width:120px
}
.Profile .team .default-avatar-wrapper .avatar-icon{
padding:8px
}
.Profile .team .avatar-icon,.Profile .team .default-avatar-wrapper,.Profile .team .profile-img{
height:40px;
width:40px
}
.snippet-container{
margin:0;
position:relative;
overflow:hidden
}
.snippet-fade{
bottom:0;
box-sizing:border-box;
position:absolute;
width:96px
}
.snippet-fade{
right:0
}
.snippet-fade:after{
content:'\2026'
}
.snippet-fade:after{
float:right
}
.post-bottom{
-webkit-box-align:center;
-webkit-align-items:center;
-ms-flex-align:center;
align-items:center;
display:-webkit-box;
display:-webkit-flex;
display:-ms-flexbox;
display:flex;
-webkit-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap
}
.post-footer{
-webkit-box-flex:1;
-webkit-flex:1 1 auto;
-ms-flex:1 1 auto;
flex:1 1 auto;
-webkit-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
-webkit-box-ordinal-group:2;
-webkit-order:1;
-ms-flex-order:1;
order:1
}
.post-footer>*{
-webkit-box-flex:0;
-webkit-flex:0 1 auto;
-ms-flex:0 1 auto;
flex:0 1 auto
}
.post-footer .byline:last-child{
margin-right:1em
}
.jump-link{
-webkit-box-flex:0;
-webkit-flex:0 0 auto;
-ms-flex:0 0 auto;
flex:0 0 auto;
-webkit-box-ordinal-group:3;
-webkit-order:2;
-ms-flex-order:2;
order:2
}
.centered-top-container.sticky{
left:0;
position:fixed;
right:0;
top:0;
width:auto;
z-index:50;
-webkit-transition-property:opacity,-webkit-transform;
transition-property:opacity,-webkit-transform;
transition-property:transform,opacity;
transition-property:transform,opacity,-webkit-transform;
-webkit-transition-duration:.2s;
transition-duration:.2s;
-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);
transition-timing-function:cubic-bezier(.4,0,.2,1)
}
.centered-top-placeholder{
display:none
}
.collapsed-header .centered-top-placeholder{
display:block
}
.centered-top-container .Header .replaced h1,.centered-top-placeholder .Header .replaced h1{
display:none
}
.centered-top-container.sticky .Header .replaced h1{
display:block
}
.centered-top-container.sticky .Header .header-widget{
background:0 0
}
.centered-top-container.sticky .Header .header-image-wrapper{
display:none
}
.centered-top-container img,.centered-top-placeholder img{
max-width:100%
}
.collapsible{
-webkit-transition:height .3s cubic-bezier(.4,0,.2,1);
transition:height .3s cubic-bezier(.4,0,.2,1)
}
.collapsible,.collapsible>summary{
display:block;
overflow:hidden
}
.collapsible>:not(summary){
display:none
}
.collapsible[open]>:not(summary){
display:block
}
.collapsible:focus,.collapsible>summary:focus{
outline:0
}
.collapsible>summary{
cursor:pointer;
display:block;
padding:0
}
.collapsible:focus>summary,.collapsible>summary:focus{
background-color:transparent
}
.collapsible>summary::-webkit-details-marker{
display:none
}
.collapsible-title{
-webkit-box-align:center;
-webkit-align-items:center;
-ms-flex-align:center;
align-items:center;
display:-webkit-box;
display:-webkit-flex;
display:-ms-flexbox;
display:flex
}
.collapsible-title .title{
-webkit-box-flex:1;
-webkit-flex:1 1 auto;
-ms-flex:1 1 auto;
flex:1 1 auto;
-webkit-box-ordinal-group:1;
-webkit-order:0;
-ms-flex-order:0;
order:0;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap
}
.collapsible-title .chevron-down,.collapsible[open] .collapsible-title .chevron-up{
display:block
}
.collapsible-title .chevron-up,.collapsible[open] .collapsible-title .chevron-down{
display:none
}
.flat-button{
cursor:pointer;
display:inline-block;
font-weight:700;
text-transform:uppercase;
border-radius:2px;
padding:8px;
margin:-8px
}
.flat-icon-button{
background:0 0;
border:0;
margin:0;
outline:0;
padding:0;
margin:-12px;
padding:12px;
cursor:pointer;
box-sizing:content-box;
display:inline-block;
line-height:0
}
.flat-icon-button,.flat-icon-button .splash-wrapper{
border-radius:50%
}
.flat-icon-button .splash.animate{
-webkit-animation-duration:.3s;
animation-duration:.3s
}
.overflowable-container{
max-height:46px;
overflow:hidden;
position:relative
}
.overflow-button{
cursor:pointer
}
#overflowable-dim-overlay{
background:0 0
}
.overflow-popup{
box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
background-color:#ffffff;
left:0;
max-width:calc(100% - 32px);
position:absolute;
top:0;
visibility:hidden;
z-index:101
}
.overflow-popup ul{
list-style:none
}
.overflow-popup .tabs li,.overflow-popup li{
display:block;
height:auto
}
.overflow-popup .tabs li{
padding-left:0;
padding-right:0
}
.overflow-button.hidden,.overflow-popup .tabs li.hidden,.overflow-popup li.hidden{
display:none
}
.pill-button{
background:0 0;
border:1px solid;
border-radius:12px;
cursor:pointer;
display:inline-block;
padding:4px 16px;
text-transform:uppercase
}
.ripple{
position:relative
}
.ripple>*{
z-index:1
}
.splash-wrapper{
bottom:0;
left:0;
overflow:hidden;
pointer-events:none;
position:absolute;
right:0;
top:0;
z-index:0
}
.splash{
background:#ccc;
border-radius:100%;
display:block;
opacity:.6;
position:absolute;
-webkit-transform:scale(0);
-ms-transform:scale(0);
transform:scale(0)
}
.splash.animate{
-webkit-animation:ripple-effect .4s linear;
animation:ripple-effect .4s linear
}
@-webkit-keyframes ripple-effect{
100%{
opacity:0;
-webkit-transform:scale(2.5);
transform:scale(2.5)
}
}
@keyframes ripple-effect{
100%{
opacity:0;
-webkit-transform:scale(2.5);
transform:scale(2.5)
}
}
.search{
display:-webkit-box;
display:-webkit-flex;
display:-ms-flexbox;
display:flex;
line-height:24px;
width:24px
}
.search.focused{
width:100%
}
.search.focused .section{
width:100%
}
.search form{
z-index:101
}
.search h3{
display:none
}
.search form{
display:-webkit-box;
display:-webkit-flex;
display:-ms-flexbox;
display:flex;
-webkit-box-flex:1;
-webkit-flex:1 0 0;
-ms-flex:1 0 0px;
flex:1 0 0;
border-bottom:solid 1px transparent;
padding-bottom:8px
}
.search form>*{
display:none
}
.search.focused form>*{
display:block
}
.search .search-input label{
display:none
}
.centered-top-placeholder.cloned .search form{
z-index:30
}
.search.focused form{
border-color:#ffffff;
position:relative;
width:auto
}
.collapsed-header .centered-top-container .search.focused form{
border-bottom-color:transparent
}
.search-expand{
-webkit-box-flex:0;
-webkit-flex:0 0 auto;
-ms-flex:0 0 auto;
flex:0 0 auto
}
.search-expand-text{
display:none
}
.search-close{
display:inline;
vertical-align:middle
}
.search-input{
-webkit-box-flex:1;
-webkit-flex:1 0 1px;
-ms-flex:1 0 1px;
flex:1 0 1px
}
.search-input input{
background:0 0;
border:0;
box-sizing:border-box;
color:#ffffff;
display:inline-block;
outline:0;
width:calc(100% - 48px)
}
.search-input input.no-cursor{
color:transparent;
text-shadow:0 0 0 #ffffff
}
.collapsed-header .centered-top-container .search-action,.collapsed-header .centered-top-container .search-input input{
color:#212121
}
.collapsed-header .centered-top-container .search-input input.no-cursor{
color:transparent;
text-shadow:0 0 0 #212121
}
.collapsed-header .centered-top-container .search-input input.no-cursor:focus,.search-input input.no-cursor:focus{
outline:0
}
.search-focused>*{
visibility:hidden
}
.search-focused .search,.search-focused .search-icon{
visibility:visible
}
.search.focused .search-action{
display:block
}
.search.focused .search-action:disabled{
opacity:.3
}
.widget.Sharing .sharing-button{
display:none
}
.widget.Sharing .sharing-buttons li{
padding:0
}
.widget.Sharing .sharing-buttons li span{
display:none
}
.post-share-buttons{
position:relative
}
.centered-bottom .share-buttons .svg-icon-24,.share-buttons .svg-icon-24{
fill:#212121
}
.sharing-open.touch-icon-button:active .touch-icon,.sharing-open.touch-icon-button:focus .touch-icon{
background-color:transparent
}
.share-buttons{
background-color:#ffffff;
border-radius:2px;
box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
color:#212121;
list-style:none;
margin:0;
padding:8px 0;
position:absolute;
top:-11px;
min-width:200px;
z-index:101
}
.share-buttons.hidden{
display:none
}
.sharing-button{
background:0 0;
border:0;
margin:0;
outline:0;
padding:0;
cursor:pointer
}
.share-buttons li{
margin:0;
height:48px
}
.share-buttons li:last-child{
margin-bottom:0
}
.share-buttons li .sharing-platform-button{
box-sizing:border-box;
cursor:pointer;
display:block;
height:100%;
margin-bottom:0;
padding:0 16px;
position:relative;
width:100%
}
.share-buttons li .sharing-platform-button:focus,.share-buttons li .sharing-platform-button:hover{
background-color:rgba(128,128,128,.1);
outline:0
}
.share-buttons li svg[class*=" sharing-"],.share-buttons li svg[class^=sharing-]{
position:absolute;
top:10px
}
.share-buttons li span.sharing-platform-button{
position:relative;
top:0
}
.share-buttons li .platform-sharing-text{
display:block;
font-size:16px;
line-height:48px;
white-space:nowrap
}
.share-buttons li .platform-sharing-text{
margin-left:56px
}
.sidebar-container{
background-color:#ffffff;
max-width:284px;
overflow-y:auto;
-webkit-transition-property:-webkit-transform;
transition-property:-webkit-transform;
transition-property:transform;
transition-property:transform,-webkit-transform;
-webkit-transition-duration:.3s;
transition-duration:.3s;
-webkit-transition-timing-function:cubic-bezier(0,0,.2,1);
transition-timing-function:cubic-bezier(0,0,.2,1);
width:284px;
z-index:101;
-webkit-overflow-scrolling:touch
}
.sidebar-container .navigation{
line-height:0;
padding:16px
}
.sidebar-container .sidebar-back{
cursor:pointer
}
.sidebar-container .widget{
background:0 0;
margin:0 16px;
padding:16px 0
}
.sidebar-container .widget .title{
color:#212121;
margin:0
}
.sidebar-container .widget ul{
list-style:none;
margin:0;
padding:0
}
.sidebar-container .widget ul ul{
margin-left:1em
}
.sidebar-container .widget li{
font-size:16px;
line-height:normal
}
.sidebar-container .widget+.widget{
border-top:1px dashed #cccccc
}
.BlogArchive li{
margin:16px 0
}
.BlogArchive li:last-child{
margin-bottom:0
}
.Label li a{
display:inline-block
}
.BlogArchive .post-count,.Label .label-count{
float:right;
margin-left:.25em
}
.BlogArchive .post-count::before,.Label .label-count::before{
content:'('
}
.BlogArchive .post-count::after,.Label .label-count::after{
content:')'
}
.widget.Translate .skiptranslate>div{
display:block!important
}
.widget.Profile .profile-link{
display:-webkit-box;
display:-webkit-flex;
display:-ms-flexbox;
display:flex
}
.widget.Profile .team-member .default-avatar-wrapper,.widget.Profile .team-member .profile-img{
-webkit-box-flex:0;
-webkit-flex:0 0 auto;
-ms-flex:0 0 auto;
flex:0 0 auto;
margin-right:1em
}
.widget.Profile .individual .profile-link{
-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-webkit-flex-direction:column;
-ms-flex-direction:column;
flex-direction:column
}
.widget.Profile .team .profile-link .profile-name{
-webkit-align-self:center;
-ms-flex-item-align:center;
-ms-grid-row-align:center;
align-self:center;
display:block;
-webkit-box-flex:1;
-webkit-flex:1 1 auto;
-ms-flex:1 1 auto;
flex:1 1 auto
}
.dim-overlay{
background-color:rgba(0,0,0,.54);
z-index:100
}
body.sidebar-visible{
overflow-y:hidden
}
@media screen and (max-width:1439px){
.sidebar-container{
bottom:0;
position:fixed;
top:0;
left:0;
right:auto
}
.sidebar-container.sidebar-invisible{
-webkit-transition-timing-function:cubic-bezier(.4,0,.6,1);
transition-timing-function:cubic-bezier(.4,0,.6,1);
-webkit-transform:translateX(-284px);
-ms-transform:translateX(-284px);
transform:translateX(-284px)
}
}
@media screen and (min-width:1440px){
.sidebar-container{
position:absolute;
top:0;
left:0;
right:auto
}
.sidebar-container .navigation{
display:none
}
}
.dialog{
box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
background:#ffffff;
box-sizing:border-box;
color:#757575;
padding:30px;
position:fixed;
text-align:center;
width:calc(100% - 24px);
z-index:101
}
.dialog input[type=email],.dialog input[type=text]{
background-color:transparent;
border:0;
border-bottom:solid 1px rgba(117,117,117,.12);
color:#757575;
display:block;
font-family:Roboto, sans-serif;
font-size:16px;
line-height:24px;
margin:auto;
padding-bottom:7px;
outline:0;
text-align:center;
width:100%
}
.dialog input[type=email]::-webkit-input-placeholder,.dialog input[type=text]::-webkit-input-placeholder{
color:#757575
}
.dialog input[type=email]::-moz-placeholder,.dialog input[type=text]::-moz-placeholder{
color:#757575
}
.dialog input[type=email]:-ms-input-placeholder,.dialog input[type=text]:-ms-input-placeholder{
color:#757575
}
.dialog input[type=email]::placeholder,.dialog input[type=text]::placeholder{
color:#757575
}
.dialog input[type=email]:focus,.dialog input[type=text]:focus{
border-bottom:solid 2px #2196f3;
padding-bottom:6px
}
.dialog input.no-cursor{
color:transparent;
text-shadow:0 0 0 #757575
}
.dialog input.no-cursor:focus{
outline:0
}
.dialog input.no-cursor:focus{
outline:0
}
.dialog input[type=submit]{
font-family:Roboto, sans-serif
}
.dialog .goog-buttonset-default{
color:#2196f3
}
.subscribe-popup{
max-width:364px
}
.subscribe-popup h3{
color:#212121;
font-size:1.8em;
margin-top:0
}
.subscribe-popup .FollowByEmail h3{
display:none
}
.subscribe-popup .FollowByEmail .follow-by-email-submit{
color:#2196f3;
display:inline-block;
margin:0 auto;
margin-top:24px;
width:auto;
white-space:normal
}
.subscribe-popup .FollowByEmail .follow-by-email-submit:disabled{
cursor:default;
opacity:.3
}
@media (max-width:800px){
.blog-name div.widget.Subscribe{
margin-bottom:16px
}
body.item-view .blog-name div.widget.Subscribe{
margin:8px auto 16px auto;
width:100%
}
}
.tabs{
list-style:none
}
.tabs li{
display:inline-block
}
.tabs li a{
cursor:pointer;
display:inline-block;
font-weight:700;
text-transform:uppercase;
padding:12px 8px
}
.tabs .selected{
border-bottom:4px solid #ffffff
}
.tabs .selected a{
color:#ffffff
}
body#layout .bg-photo,body#layout .bg-photo-overlay{
display:none
}
body#layout .page_body{
padding:0;
position:relative;
top:0
}
body#layout .page{
display:inline-block;
left:inherit;
position:relative;
vertical-align:top;
width:540px
}
body#layout .centered{
max-width:954px
}
body#layout .navigation{
display:none
}
body#layout .sidebar-container{
display:inline-block;
width:40%
}
body#layout .hamburger-menu,body#layout .search{
display:none
}
.centered-top-container .svg-icon-24,body.collapsed-header .centered-top-placeholder .svg-icon-24{
fill:#ffffff
}
.sidebar-container .svg-icon-24{
fill:#707070
}
.centered-bottom .svg-icon-24,body.collapsed-header .centered-top-container .svg-icon-24{
fill:#707070
}
.centered-bottom .share-buttons .svg-icon-24,.share-buttons .svg-icon-24{
fill:#212121
}
body{
background-color:#eeeeee;
color:#757575;
font:15px Roboto, sans-serif;
margin:0;
min-height:100vh
}
img{
max-width:100%
}
h3{
color:#757575;
font-size:16px
}
a{
text-decoration:none;
color:#2196f3
}
a:visited{
color:#2196f3
}
a:hover{
color:#2196f3
}
blockquote{
color:#444444;
font:italic normal 12px 'Times New Roman', Times, FreeSerif, serif;
font-size:x-large;
text-align:center
}
.pill-button{
font-size:12px
}
.bg-photo-container{
height:480px;
overflow:hidden;
position:absolute;
width:100%;
z-index:1
}
.bg-photo{
background:#eeeeee url(https://themes.googleusercontent.com/image?id=L1lcAxxz0CLgsDzixEprHJ2F38TyEjCyE3RSAjynQDks0lT1BDc1OxXKaTEdLc89HPvdB11X9FDw) no-repeat scroll top center /* Credit: Michael Elkan (http://www.offset.com/photos/394244) */;;
background-attachment:scroll;
background-size:cover;
-webkit-filter:blur(0px);
filter:blur(0px);
height:calc(100% + 2 * 0px);
left:0px;
position:absolute;
top:0px;
width:calc(100% + 2 * 0px)
}
.bg-photo-overlay{
background:rgba(0,0,0,.26);
background-size:cover;
height:480px;
position:absolute;
width:100%;
z-index:2
}
.hamburger-menu{
float:left;
margin-top:0
}
.sticky .hamburger-menu{
float:none;
position:absolute
}
.search{
border-bottom:solid 1px rgba(255, 255, 255, 0);
float:right;
position:relative;
-webkit-transition-property:width;
transition-property:width;
-webkit-transition-duration:.5s;
transition-duration:.5s;
-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);
transition-timing-function:cubic-bezier(.4,0,.2,1);
z-index:101
}
.search .dim-overlay{
background-color:transparent
}
.search form{
height:36px;
-webkit-transition-property:border-color;
transition-property:border-color;
-webkit-transition-delay:.5s;
transition-delay:.5s;
-webkit-transition-duration:.2s;
transition-duration:.2s;
-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);
transition-timing-function:cubic-bezier(.4,0,.2,1)
}
.search.focused{
width:calc(100% - 48px)
}
.search.focused form{
display:-webkit-box;
display:-webkit-flex;
display:-ms-flexbox;
display:flex;
-webkit-box-flex:1;
-webkit-flex:1 0 1px;
-ms-flex:1 0 1px;
flex:1 0 1px;
border-color:#ffffff;
margin-left:-24px;
padding-left:36px;
position:relative;
width:auto
}
.item-view .search,.sticky .search{
right:0;
float:none;
margin-left:0;
position:absolute
}
.item-view .search.focused,.sticky .search.focused{
width:calc(100% - 50px)
}
.item-view .search.focused form,.sticky .search.focused form{
border-bottom-color:#757575
}
.centered-top-placeholder.cloned .search form{
z-index:30
}
.search_button{
-webkit-box-flex:0;
-webkit-flex:0 0 24px;
-ms-flex:0 0 24px;
flex:0 0 24px;
-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-webkit-flex-direction:column;
-ms-flex-direction:column;
flex-direction:column
}
.search_button svg{
margin-top:0
}
.search-input{
height:48px
}
.search-input input{
display:block;
color:#ffffff;
font:16px Roboto, sans-serif;
height:48px;
line-height:48px;
padding:0;
width:100%
}
.search-input input::-webkit-input-placeholder{
color:#ffffff;
opacity:.3
}
.search-input input::-moz-placeholder{
color:#ffffff;
opacity:.3
}
.search-input input:-ms-input-placeholder{
color:#ffffff;
opacity:.3
}
.search-input input::placeholder{
color:#ffffff;
opacity:.3
}
.search-action{
background:0 0;
border:0;
color:#ffffff;
cursor:pointer;
display:none;
height:48px;
margin-top:0
}
.sticky .search-action{
color:#757575
}
.search.focused .search-action{
display:block
}
.search.focused .search-action:disabled{
opacity:.3
}
.page_body{
position:relative;
z-index:20
}
.page_body .widget{
margin-bottom:16px
}
.page_body .centered{
box-sizing:border-box;
display:-webkit-box;
display:-webkit-flex;
display:-ms-flexbox;
display:flex;
-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-webkit-flex-direction:column;
-ms-flex-direction:column;
flex-direction:column;
margin:0 auto;
max-width:922px;
min-height:100vh;
padding:24px 0
}
.page_body .centered>*{
-webkit-box-flex:0;
-webkit-flex:0 0 auto;
-ms-flex:0 0 auto;
flex:0 0 auto
}
.page_body .centered>#footer{
margin-top:auto
}
.blog-name{
margin:24px 0 16px 0
}
.item-view .blog-name,.sticky .blog-name{
box-sizing:border-box;
margin-left:36px;
min-height:48px;
opacity:1;
padding-top:12px
}
.blog-name .subscribe-section-container{
margin-bottom:32px;
text-align:center;
-webkit-transition-property:opacity;
transition-property:opacity;
-webkit-transition-duration:.5s;
transition-duration:.5s
}
.item-view .blog-name .subscribe-section-container,.sticky .blog-name .subscribe-section-container{
margin:0 0 8px 0
}
.blog-name .PageList{
margin-top:16px;
padding-top:8px;
text-align:center
}
.blog-name .PageList .overflowable-contents{
width:100%
}
.blog-name .PageList h3.title{
color:#ffffff;
margin:8px auto;
text-align:center;
width:100%
}
.centered-top-container .blog-name{
-webkit-transition-property:opacity;
transition-property:opacity;
-webkit-transition-duration:.5s;
transition-duration:.5s
}
.item-view .return_link{
margin-bottom:12px;
margin-top:12px;
position:absolute
}
.item-view .blog-name{
display:-webkit-box;
display:-webkit-flex;
display:-ms-flexbox;
display:flex;
-webkit-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
margin:0 48px 27px 48px
}
.item-view .subscribe-section-container{
-webkit-box-flex:0;
-webkit-flex:0 0 auto;
-ms-flex:0 0 auto;
flex:0 0 auto
}
.item-view #header,.item-view .Header{
margin-bottom:5px;
margin-right:15px
}
.item-view .sticky .Header{
margin-bottom:0
}
.item-view .Header p{
margin:10px 0 0 0;
text-align:left
}
.item-view .post-share-buttons-bottom{
margin-right:16px
}
.sticky{
background:#ffffff;
box-shadow:0 0 20px 0 rgba(0,0,0,.7);
box-sizing:border-box;
margin-left:0
}
.sticky #header{
margin-bottom:8px;
margin-right:8px
}
.sticky .centered-top{
margin:4px auto;
max-width:890px;
min-height:48px
}
.sticky .blog-name{
display:-webkit-box;
display:-webkit-flex;
display:-ms-flexbox;
display:flex;
margin:0 48px
}
.sticky .blog-name #header{
-webkit-box-flex:0;
-webkit-flex:0 1 auto;
-ms-flex:0 1 auto;
flex:0 1 auto;
-webkit-box-ordinal-group:2;
-webkit-order:1;
-ms-flex-order:1;
order:1;
overflow:hidden
}
.sticky .blog-name .subscribe-section-container{
-webkit-box-flex:0;
-webkit-flex:0 0 auto;
-ms-flex:0 0 auto;
flex:0 0 auto;
-webkit-box-ordinal-group:3;
-webkit-order:2;
-ms-flex-order:2;
order:2
}
.sticky .Header h1{
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
margin-right:-10px;
margin-bottom:-10px;
padding-right:10px;
padding-bottom:10px
}
.sticky .Header p{
display:none
}
.sticky .PageList{
display:none
}
.search-focused>*{
visibility:visible
}
.search-focused .hamburger-menu{
visibility:visible
}
.item-view .search-focused .blog-name,.sticky .search-focused .blog-name{
opacity:0
}
.centered-bottom,.centered-top-container,.centered-top-placeholder{
padding:0 16px
}
.centered-top{
position:relative
}
.item-view .centered-top.search-focused .subscribe-section-container,.sticky .centered-top.search-focused .subscribe-section-container{
opacity:0
}
.page_body.has-vertical-ads .centered .centered-bottom{
display:inline-block;
width:calc(100% - 176px)
}
.Header h1{
color:#ffffff;
font:bold 45px Roboto, sans-serif;
line-height:normal;
margin:0 0 13px 0;
text-align:center;
width:100%
}
.Header h1 a,.Header h1 a:hover,.Header h1 a:visited{
color:#ffffff
}
.item-view .Header h1,.sticky .Header h1{
font-size:24px;
line-height:24px;
margin:0;
text-align:left
}
.sticky .Header h1{
color:#757575
}
.sticky .Header h1 a,.sticky .Header h1 a:hover,.sticky .Header h1 a:visited{
color:#757575
}
.Header p{
color:#ffffff;
margin:0 0 13px 0;
opacity:.8;
text-align:center
}
.widget .title{
line-height:28px
}
.BlogArchive li{
font-size:16px
}
.BlogArchive .post-count{
color:#757575
}
#page_body .FeaturedPost,.Blog .blog-posts .post-outer-container{
background:#ffffff;
min-height:40px;
padding:30px 40px;
width:auto
}
.Blog .blog-posts .post-outer-container:last-child{
margin-bottom:0
}
.Blog .blog-posts .post-outer-container .post-outer{
border:0;
position:relative;
padding-bottom:.25em
}
.post-outer-container{
margin-bottom:16px
}
.post:first-child{
margin-top:0
}
.post .thumb{
float:left;
height:20%;
width:20%
}
.post-share-buttons-bottom,.post-share-buttons-top{
float:right
}
.post-share-buttons-bottom{
margin-right:24px
}
.post-footer,.post-header{
clear:left;
color:rgba(0, 0, 0, 0.54);
margin:0;
width:inherit
}
.blog-pager{
text-align:center
}
.blog-pager a{
color:#2196f3
}
.blog-pager a:visited{
color:#2196f3
}
.blog-pager a:hover{
color:#2196f3
}
.post-title{
font:normal bold 30px Roboto, sans-serif;
float:left;
margin:0 0 8px 0;
max-width:calc(100% - 48px)
}
.post-title a{
font:bold 30px Roboto, sans-serif
}
.post-title,.post-title a,.post-title a:hover,.post-title a:visited{
color:#212121
}
.post-body{
color:#757575;
font:normal normal 17px Roboto, sans-serif;
line-height:1.6em;
margin:1.5em 0 2em 0;
display:block
}
.post-body img{
height:inherit
}
.post-body .snippet-thumbnail{
float:left;
margin:0;
margin-right:2em;
max-height:128px;
max-width:128px
}
.post-body .snippet-thumbnail img{
max-width:100%
}
.main .FeaturedPost .widget-content{
border:0;
position:relative;
padding-bottom:.25em
}
.FeaturedPost img{
margin-top:2em
}
.FeaturedPost .snippet-container{
margin:2em 0
}
.FeaturedPost .snippet-container p{
margin:0
}
.FeaturedPost .snippet-thumbnail{
float:none;
height:auto;
margin-bottom:2em;
margin-right:0;
overflow:hidden;
max-height:calc(600px + 2em);
max-width:100%;
text-align:center;
width:100%
}
.FeaturedPost .snippet-thumbnail img{
max-width:100%;
width:100%
}
.byline{
color:rgba(0, 0, 0, 0.54);
display:inline-block;
line-height:24px;
margin-top:8px;
vertical-align:top
}
.byline.post-author:first-child{
margin-right:0
}
.byline.reactions .reactions-label{
line-height:22px;
vertical-align:top
}
.byline.post-share-buttons{
position:relative;
display:inline-block;
margin-top:0;
width:100%
}
.byline.post-share-buttons .sharing{
float:right
}
.flat-button.ripple:hover{
background-color:rgba(33,150,243,.12)
}
.flat-button.ripple .splash{
background-color:rgba(33,150,243,.4)
}
a.timestamp-link,a:active.timestamp-link,a:visited.timestamp-link{
color:inherit;
font:inherit;
text-decoration:inherit
}
.post-share-buttons{
margin-left:0
}
.clear-sharing{
min-height:24px
}
.comment-link{
color:#2196f3;
position:relative
}
.comment-link .num_comments{
margin-left:8px;
vertical-align:top
}
#comment-holder .continue{
display:none
}
#comment-editor{
margin-bottom:20px;
margin-top:20px
}
#comments .comment-form h4,#comments h3.title{
position:absolute;
clip:rect(1px,1px,1px,1px);
padding:0;
border:0;
height:1px;
width:1px;
overflow:hidden
}
.post-filter-message{
background-color:rgba(0,0,0,.7);
color:#fff;
display:table;
margin-bottom:16px;
width:100%
}
.post-filter-message div{
display:table-cell;
padding:15px 28px
}
.post-filter-message div:last-child{
padding-left:0;
text-align:right
}
.post-filter-message a{
white-space:nowrap
}
.post-filter-message .search-label,.post-filter-message .search-query{
font-weight:700;
color:#2196f3
}
#blog-pager{
margin:2em 0
}
#blog-pager a{
color:#2196f3;
font-size:14px
}
.subscribe-button{
border-color:#ffffff;
color:#ffffff
}
.sticky .subscribe-button{
border-color:#757575;
color:#757575
}
.tabs{
margin:0 auto;
padding:0
}
.tabs li{
margin:0 8px;
vertical-align:top
}
.tabs .overflow-button a,.tabs li a{
color:#cccccc;
font:700 normal 15px Roboto, sans-serif;
line-height:18px
}
.tabs .overflow-button a{
padding:12px 8px
}
.overflow-popup .tabs li{
text-align:left
}
.overflow-popup li a{
color:#757575;
display:block;
padding:8px 20px
}
.overflow-popup li.selected a{
color:#212121
}
a.report_abuse{
font-weight:400
}
.Label li,.Label span.label-size,.byline.post-labels a{
background-color:#f7f7f7;
border:1px solid #f7f7f7;
border-radius:15px;
display:inline-block;
margin:4px 4px 4px 0;
padding:3px 8px
}
.Label a,.byline.post-labels a{
color:rgba(0,0,0,0.54)
}
.Label ul{
list-style:none;
padding:0
}
.PopularPosts{
background-color:#eeeeee;
padding:30px 40px
}
.PopularPosts .item-content{
color:#757575;
margin-top:24px
}
.PopularPosts a,.PopularPosts a:hover,.PopularPosts a:visited{
color:#2196f3
}
.PopularPosts .post-title,.PopularPosts .post-title a,.PopularPosts .post-title a:hover,.PopularPosts .post-title a:visited{
color:#212121;
font-size:18px;
font-weight:700;
line-height:24px
}
.PopularPosts,.PopularPosts h3.title a{
color:#757575;
font:normal normal 17px Roboto, sans-serif
}
.main .PopularPosts{
padding:16px 40px
}
.PopularPosts h3.title{
font-size:14px;
margin:0
}
.PopularPosts h3.post-title{
margin-bottom:0
}
.PopularPosts .byline{
color:rgba(0, 0, 0, 0.54)
}
.PopularPosts .jump-link{
float:right;
margin-top:16px
}
.PopularPosts .post-header .byline{
font-size:.9em;
font-style:italic;
margin-top:6px
}
.PopularPosts ul{
list-style:none;
padding:0;
margin:0
}
.PopularPosts .post{
padding:20px 0
}
.PopularPosts .post+.post{
border-top:1px dashed #cccccc
}
.PopularPosts .item-thumbnail{
float:left;
margin-right:32px
}
.PopularPosts .item-thumbnail img{
height:88px;
padding:0;
width:88px
}
.inline-ad{
margin-bottom:16px
}
.desktop-ad .inline-ad{
display:block
}
.adsbygoogle{
overflow:hidden
}
.vertical-ad-container{
float:right;
margin-right:16px;
width:128px
}
.vertical-ad-container .AdSense+.AdSense{
margin-top:16px
}
.inline-ad-placeholder,.vertical-ad-placeholder{
background:#ffffff;
border:1px solid #000;
opacity:.9;
vertical-align:middle;
text-align:center
}
.inline-ad-placeholder span,.vertical-ad-placeholder span{
margin-top:290px;
display:block;
text-transform:uppercase;
font-weight:700;
color:#212121
}
.vertical-ad-placeholder{
height:600px
}
.vertical-ad-placeholder span{
margin-top:290px;
padding:0 40px
}
.inline-ad-placeholder{
height:90px
}
.inline-ad-placeholder span{
margin-top:36px
}
.Attribution{
color:#757575
}
.Attribution a,.Attribution a:hover,.Attribution a:visited{
color:#2196f3
}
.Attribution svg{
fill:#707070
}
.sidebar-container{
box-shadow:1px 1px 3px rgba(0,0,0,.1)
}
.sidebar-container,.sidebar-container .sidebar_bottom{
background-color:#ffffff
}
.sidebar-container .navigation,.sidebar-container .sidebar_top_wrapper{
background-color:#ffffff
}
.sidebar-container .sidebar_top{
overflow:auto
}
.sidebar-container .sidebar_bottom{
width:100%;
padding-top:16px
}
.sidebar-container .widget:first-child{
padding-top:0
}
.sidebar_top .widget.Profile{
padding-bottom:16px
}
.widget.Profile{
margin:0;
width:100%
}
.widget.Profile h2{
display:none
}
.widget.Profile h3.title{
color:rgba(0,0,0,0.52);
margin:16px 32px
}
.widget.Profile .individual{
text-align:center
}
.widget.Profile .individual .profile-link{
padding:1em
}
.widget.Profile .individual .default-avatar-wrapper .avatar-icon{
margin:auto
}
.widget.Profile .team{
margin-bottom:32px;
margin-left:32px;
margin-right:32px
}
.widget.Profile ul{
list-style:none;
padding:0
}
.widget.Profile li{
margin:10px 0
}
.widget.Profile .profile-img{
border-radius:50%;
float:none
}
.widget.Profile .profile-link{
color:#212121;
font-size:.9em;
margin-bottom:1em;
opacity:.87;
overflow:hidden
}
.widget.Profile .profile-link.visit-profile{
border-style:solid;
border-width:1px;
border-radius:12px;
cursor:pointer;
font-size:12px;
font-weight:400;
padding:5px 20px;
display:inline-block;
line-height:normal
}
.widget.Profile dd{
color:rgba(0, 0, 0, 0.54);
margin:0 16px
}
.widget.Profile location{
margin-bottom:1em
}
.widget.Profile .profile-textblock{
font-size:14px;
line-height:24px;
position:relative
}
body.sidebar-visible .page_body{
overflow-y:scroll
}
body.sidebar-visible .bg-photo-container{
overflow-y:scroll
}
@media screen and (min-width:1440px){
.sidebar-container{
margin-top:480px;
min-height:calc(100% - 480px);
overflow:visible;
z-index:32
}
.sidebar-container .sidebar_top_wrapper{
background-color:#f7f7f7;
height:480px;
margin-top:-480px
}
.sidebar-container .sidebar_top{
display:-webkit-box;
display:-webkit-flex;
display:-ms-flexbox;
display:flex;
height:480px;
-webkit-box-orient:horizontal;
-webkit-box-direction:normal;
-webkit-flex-direction:row;
-ms-flex-direction:row;
flex-direction:row;
max-height:480px
}
.sidebar-container .sidebar_bottom{
max-width:284px;
width:284px
}
body.collapsed-header .sidebar-container{
z-index:15
}
.sidebar-container .sidebar_top:empty{
display:none
}
.sidebar-container .sidebar_top>:only-child{
-webkit-box-flex:0;
-webkit-flex:0 0 auto;
-ms-flex:0 0 auto;
flex:0 0 auto;
-webkit-align-self:center;
-ms-flex-item-align:center;
-ms-grid-row-align:center;
align-self:center;
width:100%
}
.sidebar_top_wrapper.no-items{
display:none
}
}
.post-snippet.snippet-container{
max-height:120px
}
.post-snippet .snippet-item{
line-height:24px
}
.post-snippet .snippet-fade{
background:-webkit-linear-gradient(left,#ffffff 0,#ffffff 20%,rgba(255, 255, 255, 0) 100%);
background:linear-gradient(to left,#ffffff 0,#ffffff 20%,rgba(255, 255, 255, 0) 100%);
color:#757575;
height:24px
}
.popular-posts-snippet.snippet-container{
max-height:72px
}
.popular-posts-snippet .snippet-item{
line-height:24px
}
.PopularPosts .popular-posts-snippet .snippet-fade{
color:#757575;
height:24px
}
.main .popular-posts-snippet .snippet-fade{
background:-webkit-linear-gradient(left,#eeeeee 0,#eeeeee 20%,rgba(238, 238, 238, 0) 100%);
background:linear-gradient(to left,#eeeeee 0,#eeeeee 20%,rgba(238, 238, 238, 0) 100%)
}
.sidebar_bottom .popular-posts-snippet .snippet-fade{
background:-webkit-linear-gradient(left,#ffffff 0,#ffffff 20%,rgba(255, 255, 255, 0) 100%);
background:linear-gradient(to left,#ffffff 0,#ffffff 20%,rgba(255, 255, 255, 0) 100%)
}
.profile-snippet.snippet-container{
max-height:192px
}
.has-location .profile-snippet.snippet-container{
max-height:144px
}
.profile-snippet .snippet-item{
line-height:24px
}
.profile-snippet .snippet-fade{
background:-webkit-linear-gradient(left,#ffffff 0,#ffffff 20%,rgba(255, 255, 255, 0) 100%);
background:linear-gradient(to left,#ffffff 0,#ffffff 20%,rgba(255, 255, 255, 0) 100%);
color:rgba(0, 0, 0, 0.54);
height:24px
}
@media screen and (min-width:1440px){
.profile-snippet .snippet-fade{
background:-webkit-linear-gradient(left,#f7f7f7 0,#f7f7f7 20%,rgba(247, 247, 247, 0) 100%);
background:linear-gradient(to left,#f7f7f7 0,#f7f7f7 20%,rgba(247, 247, 247, 0) 100%)
}
}
@media screen and (max-width:800px){
.blog-name{
margin-top:0
}
body.item-view .blog-name{
margin:0 48px
}
.centered-bottom{
padding:8px
}
body.item-view .centered-bottom{
padding:0
}
.page_body .centered{
padding:10px 0
}
body.item-view #header,body.item-view .widget.Header{
margin-right:0
}
body.collapsed-header .centered-top-container .blog-name{
display:block
}
body.collapsed-header .centered-top-container .widget.Header h1{
text-align:center
}
.widget.Header header{
padding:0
}
.widget.Header h1{
font-size:24px;
line-height:24px;
margin-bottom:13px
}
body.item-view .widget.Header h1{
text-align:center
}
body.item-view .widget.Header p{
text-align:center
}
.blog-name .widget.PageList{
padding:0
}
body.item-view .centered-top{
margin-bottom:5px
}
.search-action,.search-input{
margin-bottom:-8px
}
.search form{
margin-bottom:8px
}
body.item-view .subscribe-section-container{
margin:5px 0 0 0;
width:100%
}
#page_body.section div.widget.FeaturedPost,div.widget.PopularPosts{
padding:16px
}
div.widget.Blog .blog-posts .post-outer-container{
padding:16px
}
div.widget.Blog .blog-posts .post-outer-container .post-outer{
padding:0
}
.post:first-child{
margin:0
}
.post-body .snippet-thumbnail{
margin:0 3vw 3vw 0
}
.post-body .snippet-thumbnail img{
height:20vw;
width:20vw;
max-height:128px;
max-width:128px
}
div.widget.PopularPosts div.item-thumbnail{
margin:0 3vw 3vw 0
}
div.widget.PopularPosts div.item-thumbnail img{
height:20vw;
width:20vw;
max-height:88px;
max-width:88px
}
.post-title{
line-height:1
}
.post-title,.post-title a{
font-size:20px
}
#page_body.section div.widget.FeaturedPost h3 a{
font-size:22px
}
.mobile-ad .inline-ad{
display:block
}
.page_body.has-vertical-ads .vertical-ad-container,.page_body.has-vertical-ads .vertical-ad-container ins{
display:none
}
.page_body.has-vertical-ads .centered .centered-bottom,.page_body.has-vertical-ads .centered .centered-top{
display:block;
width:auto
}
div.post-filter-message div{
padding:8px 16px
}
}
@media screen and (min-width:1440px){
body{
position:relative
}
body.item-view .blog-name{
margin-left:48px
}
.page_body{
margin-left:284px
}
.search{
margin-left:0
}
.search.focused{
width:100%
}
.sticky{
padding-left:284px
}
.hamburger-menu{
display:none
}
body.collapsed-header .page_body .centered-top-container{
padding-left:284px;
padding-right:0;
width:100%
}
body.collapsed-header .centered-top-container .search.focused{
width:100%
}
body.collapsed-header .centered-top-container .blog-name{
margin-left:0
}
body.collapsed-header.item-view .centered-top-container .search.focused{
width:calc(100% - 50px)
}
body.collapsed-header.item-view .centered-top-container .blog-name{
margin-left:40px
}
}
--></style>
<style id='template-skin-1' type='text/css'><!--
body#layout .hidden,
body#layout .invisible {
display: inherit;
}
body#layout .navigation {
display: none;
}
body#layout .page,
body#layout .sidebar_top,
body#layout .sidebar_bottom {
display: inline-block;
left: inherit;
position: relative;
vertical-align: top;
}
body#layout .page {
float: right;
margin-left: 20px;
width: 55%;
}
body#layout .sidebar-container {
float: right;
width: 40%;
}
body#layout .hamburger-menu {
display: none;
}
--></style>
<style>
.bg-photo {background-image:url(https\:\/\/themes.googleusercontent.com\/image?id=L1lcAxxz0CLgsDzixEprHJ2F38TyEjCyE3RSAjynQDks0lT1BDc1OxXKaTEdLc89HPvdB11X9FDw);}
@media (max-width: 480px) { .bg-photo {background-image:url(https\:\/\/themes.googleusercontent.com\/image?id=L1lcAxxz0CLgsDzixEprHJ2F38TyEjCyE3RSAjynQDks0lT1BDc1OxXKaTEdLc89HPvdB11X9FDw&options=w480);}}
@media (max-width: 640px) and (min-width: 481px) { .bg-photo {background-image:url(https\:\/\/themes.googleusercontent.com\/image?id=L1lcAxxz0CLgsDzixEprHJ2F38TyEjCyE3RSAjynQDks0lT1BDc1OxXKaTEdLc89HPvdB11X9FDw&options=w640);}}
@media (max-width: 800px) and (min-width: 641px) { .bg-photo {background-image:url(https\:\/\/themes.googleusercontent.com\/image?id=L1lcAxxz0CLgsDzixEprHJ2F38TyEjCyE3RSAjynQDks0lT1BDc1OxXKaTEdLc89HPvdB11X9FDw&options=w800);}}
@media (max-width: 1200px) and (min-width: 801px) { .bg-photo {background-image:url(https\:\/\/themes.googleusercontent.com\/image?id=L1lcAxxz0CLgsDzixEprHJ2F38TyEjCyE3RSAjynQDks0lT1BDc1OxXKaTEdLc89HPvdB11X9FDw&options=w1200);}}
/* Last tag covers anything over one higher than the previous max-size cap. */
@media (min-width: 1201px) { .bg-photo {background-image:url(https\:\/\/themes.googleusercontent.com\/image?id=L1lcAxxz0CLgsDzixEprHJ2F38TyEjCyE3RSAjynQDks0lT1BDc1OxXKaTEdLc89HPvdB11X9FDw&options=w1600);}}
</style>
<!-- Google tag (gtag.js) -->
<script async='true' src='https://www.googletagmanager.com/gtag/js?id=G-8187JXPXZK'></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-8187JXPXZK');
</script>
<script async='async' src='https://www.gstatic.com/external_hosted/clipboardjs/clipboard.min.js'></script>
<script type='text/x-mathjax-config'> MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}}); </script>
<script src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"> </script>
<!-- Google tag (gtag.js) -->
<script async='async' src='https://www.googletagmanager.com/gtag/js?id=G-8187JXPXZK'></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-8187JXPXZK');
</script>
<link href='https://draft.blogger.com/dyncss/8436330762136344379/authorization.css?zx=8b51bcf5-dd79-4320-b3e4-1df045ad107d' media='none' onload='if(media!=&#39;all&#39;)media=&#39;all&#39;' rel='stylesheet'/><noscript><link href='https://draft.blogger.com/dyncss/8436330762136344379/authorization.css?zx=8b51bcf5-dd79-4320-b3e4-1df045ad107d' rel='stylesheet'/></noscript>
<meta name='google-adsense-platform-account' content='ca-host-pub-1556223355139109'/>
<meta name='google-adsense-platform-domain' content='blogspot.com'/>
</head>
<body class='item-view version-1-3-0'>
<a class='skip-navigation' href='#main' tabindex='0'>
Skip to main content
</a>
<div class='page'>
<div class='bg-photo-overlay'></div>
<div class='bg-photo-container'>
<div class='bg-photo'></div>
</div>
<div class='page_body'>
<div class='centered'>
<div class='centered-top-placeholder'></div>
<header class='centered-top-container' role='banner'>
<div class='centered-top'>
<a class='return_link' href='https://muratbuffalo.blogspot.com/'>
<button class='svg-icon-24-button back-button rtl-reversible-icon flat-icon-button ripple'>
<svg class='svg-icon-24'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_arrow_back_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
</button>
</a>
<div class='search'>
<button aria-label='Search' class='search-expand touch-icon-button'>
<div class='flat-icon-button ripple'>
<svg class='svg-icon-24 search-expand-icon'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_search_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
</div>
</button>
<div class='section' id='search_top' name='Search (Top)'><div class='widget BlogSearch' data-version='2' id='BlogSearch1'>
<h3 class='title'>
Search This Blog
</h3>
<div class='widget-content' role='search'>
<form action='https://muratbuffalo.blogspot.com/search' target='_top'>
<div class='search-input'>
<input aria-label='Search this blog' autocomplete='off' name='q' placeholder='Search this blog' value=''/>
</div>
<input class='search-action flat-button' type='submit' value='Search'/>
</form>
</div>
</div></div>
</div>
<div class='clearboth'></div>
<div class='blog-name container'>
<div class='container section' id='header' name='Header'><div class='widget Header' data-version='2' id='Header1'>
<div class='header-widget'>
<div>
<h1>
<a href='https://muratbuffalo.blogspot.com/'>
Metadata
</a>
</h1>
</div>
<p>
On distributed systems broadly defined and other curiosities. The opinions on this site are my own.
</p>
</div>
</div></div>
<nav role='navigation'>
<div class='clearboth no-items section' id='page_list_top' name='Page List (Top)'>
</div>
</nav>
</div>
</div>
</header>
<div>
<div class='vertical-ad-container no-items section' id='ads' name='Ads'>
</div>
<main class='centered-bottom' id='main' role='main' tabindex='-1'>
<div class='main section' id='page_body' name='Page Body'>
<div class='widget Blog' data-version='2' id='Blog1'>
<div class='blog-posts hfeed container'>
<article class='post-outer-container'>
<div class='post-outer'>
<div class='post'>
<script type='application/ld+json'>{
"@context": "http://schema.org",
"@type": "BlogPosting",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "http://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html"
},
"headline": "Mitigating Application Resource Overload with Targeted Task Cancellation","description": "The Atropos paper (SOSP\u0026#39;25) argues that overload-control systems are built on a flawed assumption. They monitor global signals (like qu...","datePublished": "2025-11-24T22:42:00-05:00",
"dateModified": "2025-12-02T19:30:51-05:00","image": {
"@type": "ImageObject","url": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyACQkUtydHjYT4HG_V4lbw6NfTUc3NsZNopHj3GFnPq8yx4pkUh-OwZh8EUWZ3RaSl5Tks5f2Q1EgQtQy46MQV6CbKL7dQ5ohTZGj8W9kqdzipQKlLpuWkbDAHnw59satbRcFEBWBqYIKaaxf5ji8hjOSnE-42ZFVL0NUpHfcGsUXoBNGX0solhJfsFI/w1200-h630-p-k-no-nu/Screenshot%202025-11-24%20at%2010.27.24%E2%80%AFPM.png",
"height": 630,
"width": 1200},"publisher": {
"@type": "Organization",
"name": "Blogger",
"logo": {
"@type": "ImageObject",
"url": "https://blogger.googleusercontent.com/img/b/U2hvZWJveA/AVvXsEgfMvYAhAbdHksiBA24JKmb2Tav6K0GviwztID3Cq4VpV96HaJfy0viIu8z1SSw_G9n5FQHZWSRao61M3e58ImahqBtr7LiOUS6m_w59IvDYwjmMcbq3fKW4JSbacqkbxTo8B90dWp0Cese92xfLMPe_tg11g/h60/",
"width": 206,
"height": 60
}
},"author": {
"@type": "Person",
"name": "Murat"
}
}</script>
<a name='7900407123867436342'></a>
<h3 class='post-title entry-title'>
Mitigating Application Resource Overload with Targeted Task Cancellation
</h3>
<div class='post-share-buttons post-share-buttons-top'>
<div class='byline post-share-buttons goog-inline-block'>
<div aria-owns='sharing-popup-Blog1-byline-7900407123867436342' class='sharing' data-title='Mitigating Application Resource Overload with Targeted Task Cancellation'>
<button aria-controls='sharing-popup-Blog1-byline-7900407123867436342' aria-label='Share' class='sharing-button touch-icon-button' id='sharing-button-Blog1-byline-7900407123867436342' role='button'>
<div class='flat-icon-button ripple'>
<svg class='svg-icon-24'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_share_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
</div>
</button>
<div class='share-buttons-container'>
<ul aria-hidden='true' aria-label='Share' class='share-buttons hidden' id='sharing-popup-Blog1-byline-7900407123867436342' role='menu'>
<li>
<span aria-label='Get link' class='sharing-platform-button sharing-element-link' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=7900407123867436342&target=' data-url='https://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html' role='menuitem' tabindex='-1' title='Get link'>
<svg class='svg-icon-24 touch-icon sharing-link'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_link_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
<span class='platform-sharing-text'>Get link</span>
</span>
</li>
<li>
<span aria-label='Share to Facebook' class='sharing-platform-button sharing-element-facebook' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=7900407123867436342&target=facebook' data-url='https://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html' role='menuitem' tabindex='-1' title='Share to Facebook'>
<svg class='svg-icon-24 touch-icon sharing-facebook'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_facebook_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
<span class='platform-sharing-text'>Facebook</span>
</span>
</li>
<li>
<span aria-label='Share to X' class='sharing-platform-button sharing-element-twitter' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=7900407123867436342&target=twitter' data-url='https://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html' role='menuitem' tabindex='-1' title='Share to X'>
<svg class='svg-icon-24 touch-icon sharing-twitter'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_twitter_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
<span class='platform-sharing-text'>X</span>
</span>
</li>
<li>
<span aria-label='Share to Pinterest' class='sharing-platform-button sharing-element-pinterest' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=7900407123867436342&target=pinterest' data-url='https://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html' role='menuitem' tabindex='-1' title='Share to Pinterest'>
<svg class='svg-icon-24 touch-icon sharing-pinterest'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_pinterest_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
<span class='platform-sharing-text'>Pinterest</span>
</span>
</li>
<li>
<span aria-label='Email' class='sharing-platform-button sharing-element-email' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=7900407123867436342&target=email' data-url='https://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html' role='menuitem' tabindex='-1' title='Email'>
<svg class='svg-icon-24 touch-icon sharing-email'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_email_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
<span class='platform-sharing-text'>Email</span>
</span>
</li>
<li aria-hidden='true' class='hidden'>
<span aria-label='Share to other apps' class='sharing-platform-button sharing-element-other' data-url='https://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html' role='menuitem' tabindex='-1' title='Share to other apps'>
<svg class='svg-icon-24 touch-icon sharing-sharingOther'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_more_horiz_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
<span class='platform-sharing-text'>Other Apps</span>
</span>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class='post-header'>
<div class='post-header-line-1'>
<span class='byline post-timestamp'>
-
<meta content='http://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html'/>
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html' rel='bookmark' title='permanent link'>
<time class='published' datetime='2025-11-24T22:42:00-05:00' title='2025-11-24T22:42:00-05:00'>
November 24, 2025
</time>
</a>
</span>
</div>
</div>
<div class='post-body entry-content float-container' id='post-body-7900407123867436342'>
<p><a href="https://dl.acm.org/doi/pdf/10.1145/3731569.3764835">The Atropos paper (SOSP'25)</a> argues that overload-control systems are built on a flawed assumption. They monitor global signals (like queue length or tail latency) to adjust admission control (throttling new arrivals or dropping random requests). This works when the bottleneck is CPU or network, but it fails when the real problem is inside the application. This considers only the symptoms but not the source. As a result, it drops the victims rather than the culprits.</p><p>Real systems often run into overload because one or two unlucky timed requests monopolize an internal logical resource (like buffer pools, locks, and thread-pool queues). These few rogue whales have nonlinear effects. A single ill-timed dump query can thrash the buffer pool and cut throughput in half. A single backup thread combined with a heavy table scan can stall writes in MySQL as seen in Figure 3. The CPU metrics will not show this.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyACQkUtydHjYT4HG_V4lbw6NfTUc3NsZNopHj3GFnPq8yx4pkUh-OwZh8EUWZ3RaSl5Tks5f2Q1EgQtQy46MQV6CbKL7dQ5ohTZGj8W9kqdzipQKlLpuWkbDAHnw59satbRcFEBWBqYIKaaxf5ji8hjOSnE-42ZFVL0NUpHfcGsUXoBNGX0solhJfsFI/s1140/Screenshot%202025-11-24%20at%2010.27.24%E2%80%AFPM.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="818" data-original-width="1140" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyACQkUtydHjYT4HG_V4lbw6NfTUc3NsZNopHj3GFnPq8yx4pkUh-OwZh8EUWZ3RaSl5Tks5f2Q1EgQtQy46MQV6CbKL7dQ5ohTZGj8W9kqdzipQKlLpuWkbDAHnw59satbRcFEBWBqYIKaaxf5ji8hjOSnE-42ZFVL0NUpHfcGsUXoBNGX0solhJfsFI/w400-h288/Screenshot%202025-11-24%20at%2010.27.24%E2%80%AFPM.png" width="400" /></a></div><p>Atropos proposes a simple fix to this problem. Rather than throttling or dropping victims at the front of the system, it continuously monitors how tasks use internal logical resources and cancels the ones most responsible for the collapse. The name comes from the three Greek Fates. Clotho spins the thread of life, Lachesis measures its length, and Atropos cuts it when its time is up. The system plays the same role: it cuts the harmful task to protect the others.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFIaCRMt2smFWDj0nJjXeAKm0Q7OQMTP9b6DctOIW2DgsJ7shqa0o6LR4Xchk0HWskqQgMXVttV8sx5n9Vx3JsY_hCzoVV7EX619Var3D9fkADc-llzoePjAnIAfSWM6RsIaPxoXYWw7B0Mm90bywyONSsFf7qdRvepdbD7Np_IIbk_Xt1IRTtNNaoads/s1140/Screenshot%202025-11-24%20at%2010.27.44%E2%80%AFPM.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="528" data-original-width="1140" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFIaCRMt2smFWDj0nJjXeAKm0Q7OQMTP9b6DctOIW2DgsJ7shqa0o6LR4Xchk0HWskqQgMXVttV8sx5n9Vx3JsY_hCzoVV7EX619Var3D9fkADc-llzoePjAnIAfSWM6RsIaPxoXYWw7B0Mm90bywyONSsFf7qdRvepdbD7Np_IIbk_Xt1IRTtNNaoads/w400-h185/Screenshot%202025-11-24%20at%2010.27.44%E2%80%AFPM.png" width="400" /></a></div><p>The first interesting point in the paper is that their survey of 151 real applications (databases, search engines, and distributed systems) shows that almost all of them already contain safe cancellation hooks. Developers have already built the ability to stop a task cleanly. So the concerns about cancellation being too dangerous or too invasive turn out to be outdated. The support is already there; what's missing is a systematic way to decide which tasks to cancel in the first place.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiqbi-Pejjkt63R0cUizwqSwL_GO9a9MRCrX3_4Qog4avOvcU41Nyo_OHkRVOfhX4rS8KiAg-lwGGaKeAk-VG3PCRIr6pliNllexx5YmQJGrsAI8sqnYJebXxwRetsazfIGJCh7P-_8npCG33qxdCEZPYf3OMj7aVFyirYUJ7Yxxi9D1Ec7KRSNRhx_J8/s1140/Screenshot%202025-11-24%20at%2010.28.03%E2%80%AFPM.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1068" data-original-width="1140" height="375" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiqbi-Pejjkt63R0cUizwqSwL_GO9a9MRCrX3_4Qog4avOvcU41Nyo_OHkRVOfhX4rS8KiAg-lwGGaKeAk-VG3PCRIr6pliNllexx5YmQJGrsAI8sqnYJebXxwRetsazfIGJCh7P-_8npCG33qxdCEZPYf3OMj7aVFyirYUJ7Yxxi9D1Ec7KRSNRhx_J8/w400-h375/Screenshot%202025-11-24%20at%2010.28.03%E2%80%AFPM.png" width="400" /></a></div><p>To identify which tasks are the rogue whales,&nbsp; Atropos introduces a lightweight way to track logical resource usage. It instruments three operations: acquiring a resource, releasing it, and waiting on it. These are cheap counters and timestamps. For <b>memory</b>&nbsp;this wraps code that gets or frees buffer pages. For&nbsp;<b>locks</b>&nbsp;it wraps lock acquisition and lock waits. For <b>queues</b>&nbsp;it wraps enqueue and dequeue. The runtime can now trace who is touching which resource and who is blocking whom.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh2A8nuLt-68S_Y9NuOXM6DiY2EESmKs4Uoqo-wGuTBQDdm1NzWDNo5sGLi23TP9ioz7BW0RWCyQ2xHwoLOxyQej4O_jz3O5DBkeWG_10eiIcDtXV2sutOd3CQ4ApX5rK7D9Jb6hB9lx2RwzodRnYaUORQIBuGOwdnUX-BIOwg2-6Awi2L95CmnrbV9RGc" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1760" data-original-width="2432" height="464" src="https://blogger.googleusercontent.com/img/a/AVvXsEh2A8nuLt-68S_Y9NuOXM6DiY2EESmKs4Uoqo-wGuTBQDdm1NzWDNo5sGLi23TP9ioz7BW0RWCyQ2xHwoLOxyQej4O_jz3O5DBkeWG_10eiIcDtXV2sutOd3CQ4ApX5rK7D9Jb6hB9lx2RwzodRnYaUORQIBuGOwdnUX-BIOwg2-6Awi2L95CmnrbV9RGc=w640-h464" width="640" /></a></div><p></p><p>The map above (from Nano Banana Pro) lays out the Atropos design. Let's walk through its main pieces.</p><p>The runtime borrows the "overload detection" from prior work (Breakwater). When latency rises above the SLO but throughput stays flat, overload is present. At that moment Atropos inspects the resource traces and identifies hot spots. It computes two measures per resource per task.</p><p></p><ul style="text-align: left;"><li>The first measure is the contention level. This is a measure of how much time tasks spend waiting due to that resource. High eviction ratios, long lock wait ratios, and long queue wait times all point to a rogue whale task.</li><li>The second measure is the resource gain. This estimates how much future load would be relieved if a task were canceled. This is the clever idea. The naive approach counts past usage, but a task that has consumed many pages but is almost finished does not pose much future harm. A task that has barely begun a huge scan is the real whale to watch, because its future thrashing potential is far larger than what its small past footprint suggests. The system uses progress estimates to scale current usage by remaining work. Databases usually track rows read vs rows expected. Other systems provide analogous application-specific counters for an estimate of future demand. This allows the controller to avoid killing nearly finished tasks.</li></ul><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIJqpPvtZ30SnWD0e8UoVbwKxTxLgM91-uMVXbb3GhxTeE8DcktTFnNDsRJjVQJ3zSo9Ma1fGs_pHRCvzU70Hbj89gkxewXEqcMRdLcuYuRacq_cldw9DGn-KnYI12ukn1PaX2PP1T80Z4dYlfZSQ8ibJ3OU76WEYG-XT72w8dBi9o_dapAAZ9o8IFU7U/s1454/Screenshot%202025-11-24%20at%2010.28.37%E2%80%AFPM.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1454" data-original-width="1154" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIJqpPvtZ30SnWD0e8UoVbwKxTxLgM91-uMVXbb3GhxTeE8DcktTFnNDsRJjVQJ3zSo9Ma1fGs_pHRCvzU70Hbj89gkxewXEqcMRdLcuYuRacq_cldw9DGn-KnYI12ukn1PaX2PP1T80Z4dYlfZSQ8ibJ3OU76WEYG-XT72w8dBi9o_dapAAZ9o8IFU7U/w318-h400/Screenshot%202025-11-24%20at%2010.28.37%E2%80%AFPM.png" width="318" /></a></div><p>The policy engine considers all resources together. Some tasks stress memory, others stress locks, and others queues. A single-resource policy would make narrow decisions. Instead Atropos identifies the non-dominated set of tasks across all resources and computes a weighted score, where the weights are the contention levels of the resources. The resultant score is the expected gain from canceling that task. The task with the highest score is canceled using the application's own cancellation mechanism.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2y-5Ji6b13n1qm5AOglEpQqKo6_rq-0o_6KemqX9yyBOqDMSNSmPlESJLMYMSRXICJnTkNgZwtKVLL3CvSz4eTq_YDGsLZAazdj7Oxa9XTFsuHKnnJbWm365hzzGUJLp3vFeEsasvdDyiH38oRhDroQj-UE4XJRWpZ0hpElJZuP7NhAba1oFQTLMKJn4/s2394/Screenshot%202025-11-24%20at%2010.29.22%E2%80%AFPM.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="990" data-original-width="2394" height="264" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2y-5Ji6b13n1qm5AOglEpQqKo6_rq-0o_6KemqX9yyBOqDMSNSmPlESJLMYMSRXICJnTkNgZwtKVLL3CvSz4eTq_YDGsLZAazdj7Oxa9XTFsuHKnnJbWm365hzzGUJLp3vFeEsasvdDyiH38oRhDroQj-UE4XJRWpZ0hpElJZuP7NhAba1oFQTLMKJn4/w640-h264/Screenshot%202025-11-24%20at%2010.29.22%E2%80%AFPM.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv8LwG5AFfu7nL66-htntYygE9tjmzCW0FhueCtloIIIJ4IxwFKoZG7LzJHL30YSRYj8P0gWjV9lMW0y4eCG2Xs25QV8bX1ReUKgWvzChvK4VbbmHhhjVHJKpWXTBJx29C0sMNAfzcunUOVJTV2GjoGopUvjRIMpklH7XznVInxGmTpb5THU6xL_7q91w/s2394/Screenshot%202025-11-24%20at%2010.29.37%E2%80%AFPM.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1370" data-original-width="2394" height="366" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv8LwG5AFfu7nL66-htntYygE9tjmzCW0FhueCtloIIIJ4IxwFKoZG7LzJHL30YSRYj8P0gWjV9lMW0y4eCG2Xs25QV8bX1ReUKgWvzChvK4VbbmHhhjVHJKpWXTBJx29C0sMNAfzcunUOVJTV2GjoGopUvjRIMpklH7XznVInxGmTpb5THU6xL_7q91w/w640-h366/Screenshot%202025-11-24%20at%2010.29.37%E2%80%AFPM.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYRAJqCTD8U0XYf-gXIg9NvquoZ7TRKgoH-FgN2iTU3w_g5f2wKa1JFVFi9Rksycau31WiylwUg_aTnMEXfBq4BT-EcKasx3fsz81iUip1eKC3WLQbLnVoyQEnj72JjyhR5brkHe_xKrCYm09hk8C-l0UIOC18HMBtcbDUyNVVbXxtQ5vuBsxA-CjjONk/s1150/Screenshot%202025-11-24%20at%2010.29.52%E2%80%AFPM.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1054" data-original-width="1150" height="366" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYRAJqCTD8U0XYf-gXIg9NvquoZ7TRKgoH-FgN2iTU3w_g5f2wKa1JFVFi9Rksycau31WiylwUg_aTnMEXfBq4BT-EcKasx3fsz81iUip1eKC3WLQbLnVoyQEnj72JjyhR5brkHe_xKrCYm09hk8C-l0UIOC18HMBtcbDUyNVVbXxtQ5vuBsxA-CjjONk/w400-h366/Screenshot%202025-11-24%20at%2010.29.52%E2%80%AFPM.png" width="400" /></a></div><p>The evaluation of the paper is strong. This is a prototypical SOSP paper. The authors reproduce sixteen real overload bugs in systems like MySQL, Postgres, Elasticsearch, Solr, Apache, and etcd. These include buffer pool thrashing, lock convoys, queue stalls, and indexing contention. Across these cases Atropos restores throughput close to the baseline. The median result is around ninety six percent of normal throughput under overload. Tail latency stays near normal. The cancellation rate is tiny: less than one in ten thousand requests! Competing approaches must drop far more requests and still fail to restore throughput. The key here is the nonlinear effect of freeing internal logical resources. Canceling the right task unblocks a crowd of others.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCqyA66C2VfWqr7tW7uEFg49XLXoGzitk98GXtqTCDc39O7eAg59eRO2pKTicv3gRZwiO1yiL4JC5CYrYdknEZVjYHci4NLHC_cEtW8RaJfATIaCnAgKn17_sByaAMvotMTpKU4MeQm_pySQ1srHiqNWI3ztmlzhyphenhyphenFKQqUmGq6_Gi-9zf7ngBvG_IKp3M/s2342/Screenshot%202025-11-24%20at%2010.30.24%E2%80%AFPM.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="570" data-original-width="2342" height="156" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCqyA66C2VfWqr7tW7uEFg49XLXoGzitk98GXtqTCDc39O7eAg59eRO2pKTicv3gRZwiO1yiL4JC5CYrYdknEZVjYHci4NLHC_cEtW8RaJfATIaCnAgKn17_sByaAMvotMTpKU4MeQm_pySQ1srHiqNWI3ztmlzhyphenhyphenFKQqUmGq6_Gi-9zf7ngBvG_IKp3M/w640-h156/Screenshot%202025-11-24%20at%2010.30.24%E2%80%AFPM.png" width="640" /></a></div><p>As usual, Aleksey and I did our live blind read of the paper, which you can watch below. My annotated copy of the paper is also <a href="https://drive.google.com/file/d/1EU5rZOPhh9Dc7hN9kERjqegxbFt646Gn/view?usp=sharing">available here</a>.</p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="347" src="https://www.youtube.com/embed/mCmcQgwho7U" width="418" youtube-src-id="mCmcQgwho7U"></iframe></div><p>What I like about the paper is its clarity. The motivating examples are strong and concrete. The design is small, understandable, and modular. The progress-based future estimation is a good idea. The policy avoids naive heuristics. This is not a general overload controller for all situations. It does not manage CPU saturation or network overload. Instead it solves overload caused by contention on internal logical resources by killing the rogue whale, and quickly restoring normal behavior.</p>
</div>
<div class='post-bottom'>
<div class='post-footer float-container'>
<div class='post-footer-line post-footer-line-1'>
<span class='byline post-icons'>
<span class='item-action'>
<a href='https://draft.blogger.com/email-post/8436330762136344379/7900407123867436342' title='Email Post'>
<svg class='svg-icon-24 touch-icon sharing-icon'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_email_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
</a>
</span>
</span>
</div>
<div class='post-footer-line post-footer-line-2'>
<span class='byline post-labels'>
<span class='byline-label'>
</span>
<a href='https://muratbuffalo.blogspot.com/search/label/liveDiscussion' rel='tag'>liveDiscussion</a>
<a href='https://muratbuffalo.blogspot.com/search/label/paper-review' rel='tag'>paper-review</a>
</span>
</div>
<div class='post-footer-line post-footer-line-3'>
</div>
</div>
<div class='post-share-buttons post-share-buttons-bottom invisible'>
<div class='byline post-share-buttons goog-inline-block'>
<div aria-owns='sharing-popup-Blog1-byline-7900407123867436342' class='sharing' data-title='Mitigating Application Resource Overload with Targeted Task Cancellation'>
<button aria-controls='sharing-popup-Blog1-byline-7900407123867436342' aria-label='Share' class='sharing-button touch-icon-button' id='sharing-button-Blog1-byline-7900407123867436342' role='button'>
<div class='flat-icon-button ripple'>
<svg class='svg-icon-24'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_share_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
</div>
</button>
<div class='share-buttons-container'>
<ul aria-hidden='true' aria-label='Share' class='share-buttons hidden' id='sharing-popup-Blog1-byline-7900407123867436342' role='menu'>
<li>
<span aria-label='Get link' class='sharing-platform-button sharing-element-link' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=7900407123867436342&target=' data-url='https://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html' role='menuitem' tabindex='-1' title='Get link'>
<svg class='svg-icon-24 touch-icon sharing-link'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_link_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
<span class='platform-sharing-text'>Get link</span>
</span>
</li>
<li>
<span aria-label='Share to Facebook' class='sharing-platform-button sharing-element-facebook' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=7900407123867436342&target=facebook' data-url='https://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html' role='menuitem' tabindex='-1' title='Share to Facebook'>
<svg class='svg-icon-24 touch-icon sharing-facebook'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_facebook_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
<span class='platform-sharing-text'>Facebook</span>
</span>
</li>
<li>
<span aria-label='Share to X' class='sharing-platform-button sharing-element-twitter' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=7900407123867436342&target=twitter' data-url='https://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html' role='menuitem' tabindex='-1' title='Share to X'>
<svg class='svg-icon-24 touch-icon sharing-twitter'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_twitter_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
<span class='platform-sharing-text'>X</span>
</span>
</li>
<li>
<span aria-label='Share to Pinterest' class='sharing-platform-button sharing-element-pinterest' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=7900407123867436342&target=pinterest' data-url='https://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html' role='menuitem' tabindex='-1' title='Share to Pinterest'>
<svg class='svg-icon-24 touch-icon sharing-pinterest'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_pinterest_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
<span class='platform-sharing-text'>Pinterest</span>
</span>
</li>
<li>
<span aria-label='Email' class='sharing-platform-button sharing-element-email' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=7900407123867436342&target=email' data-url='https://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html' role='menuitem' tabindex='-1' title='Email'>
<svg class='svg-icon-24 touch-icon sharing-email'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_email_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
<span class='platform-sharing-text'>Email</span>
</span>
</li>
<li aria-hidden='true' class='hidden'>
<span aria-label='Share to other apps' class='sharing-platform-button sharing-element-other' data-url='https://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html' role='menuitem' tabindex='-1' title='Share to other apps'>
<svg class='svg-icon-24 touch-icon sharing-sharingOther'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_more_horiz_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
<span class='platform-sharing-text'>Other Apps</span>
</span>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<section class='comments' data-num-comments='0' id='comments'>
<a name='comments'></a>
<h3 class='title'>Comments</h3>
<div id='Blog1_comments-block-wrapper'>
</div>
<div class='footer'>
<a href='https://draft.blogger.com/comment/fullpage/post/8436330762136344379/7900407123867436342' onclick=''>
Post a Comment
</a>
</div>
</section>
</article>
</div>
</div><div class='widget PopularPosts' data-version='2' id='PopularPosts1'>
<h3 class='title'>
Popular posts from this blog
</h3>
<div class='widget-content'>
<div role='feed'>
<article class='post' role='article'>
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2026/08/the-safest-job-from-ai-may-be-writing.html'>The Safest Job from AI may be Writing</a></h3>
<div class='post-header'>
<div class='post-header-line-1'>
<span class='byline post-timestamp'>
-
<meta content='http://muratbuffalo.blogspot.com/2026/08/the-safest-job-from-ai-may-be-writing.html'/>
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2026/08/the-safest-job-from-ai-may-be-writing.html' rel='bookmark' title='permanent link'>
<time class='published' datetime='2026-08-31T14:01:00-04:00' title='2026-08-31T14:01:00-04:00'>
August 31, 2026
</time>
</a>
</span>
</div>
</div>
<div class='item-content float-container'>
<div class='popular-posts-snippet snippet-container r-snippet-container'>
<div class='snippet-item r-snippetized'>
Today, tech folk are scrambling to change their workflows to meet newly inflated 5X productivity quotas, while getting pummeled under the cognitive debt of agent-generated code. With every new model release, the gap is widening and humans are becoming more of a bottleneck in the loop, approaching closer to obsolescence as &quot;coders&quot;. While the programmer&#39;s job description is getting completely refactored, writing remains surprisingly unaffected. LLMs have gotten very good at generating code, but I am appalled at the absolute shit they spew as prose. They always follow the same robotic cadence and cliches, and sprinkle the same tired vocabulary all around. They take my broken yet soulful writing and transform it into a plastic soulless word slop in the name of improving prose. Their writing communicates no actual understanding and insight. I think we are all developing a visceral ick reaction to AI writing. It is trapped in the uncanny valley, and it may be stuck there for ...
</div>
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2026/08/the-safest-job-from-ai-may-be-writing.html'></a>
</div>
<div class='jump-link flat-button ripple'>
<a href='https://muratbuffalo.blogspot.com/2026/08/the-safest-job-from-ai-may-be-writing.html' title='The Safest Job from AI may be Writing'>
Read more &gt;&gt;
</a>
</div>
</div>
</article>
<article class='post' role='article'>
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2026/05/the-two-abstractions-of-system-design.html'>The Two Abstractions of System Design: Hide or Reduce</a></h3>
<div class='post-header'>
<div class='post-header-line-1'>
<span class='byline post-timestamp'>
-
<meta content='http://muratbuffalo.blogspot.com/2026/05/the-two-abstractions-of-system-design.html'/>
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2026/05/the-two-abstractions-of-system-design.html' rel='bookmark' title='permanent link'>
<time class='published' datetime='2026-05-08T19:27:00-04:00' title='2026-05-08T19:27:00-04:00'>
May 08, 2026
</time>
</a>
</span>
</div>
</div>
<div class='item-content float-container'>
<div class='popular-posts-snippet snippet-container r-snippet-container'>
<div class='snippet-item r-snippetized'>
When talking about TLA+, I keep referring to &quot;abstraction&quot; as the most important thing to learn . And it is about the hardest to learn as well. But a contradiction has been bugging me. Aren&#39;t CS people already supposed to be good at abstraction? Isn&#39;t abstraction supposed to be at the root of OS, networking, software engineering? Abstract Data Types (ADTs) are a staple of every in CS curriculum. So why do I (and every other formal methods/modeling person) see such a large skill gap in abstraction, and flag it as the core, make-or-break skill for modeling? I think I finally get to the root of this cognitive disonance. There are two kinds of &quot;abstraction&quot; conflated under the same umbrella term. Modularity abstraction: This is the traditional abstraction taught in CS curricula as ADTs, APIs, layered design, etc. It is all about encapsulation, drawing boundaries, and hiding internals. Modeling abstraction: This is what I talk about when I talk about abstracti...
</div>
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2026/05/the-two-abstractions-of-system-design.html'></a>
</div>
<div class='jump-link flat-button ripple'>
<a href='https://muratbuffalo.blogspot.com/2026/05/the-two-abstractions-of-system-design.html' title='The Two Abstractions of System Design: Hide or Reduce'>
Read more &gt;&gt;
</a>
</div>
</div>
</article>
<article class='post' role='article'>
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2026/01/the-agentic-self-parallels-between-ai.html'>The Agentic Self: Parallels Between AI and Self-Improvement</a></h3>
<div class='post-header'>
<div class='post-header-line-1'>
<span class='byline post-timestamp'>
-
<meta content='http://muratbuffalo.blogspot.com/2026/01/the-agentic-self-parallels-between-ai.html'/>
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2026/01/the-agentic-self-parallels-between-ai.html' rel='bookmark' title='permanent link'>
<time class='published' datetime='2026-01-02T18:12:00-05:00' title='2026-01-02T18:12:00-05:00'>
January 02, 2026
</time>
</a>
</span>
</div>
</div>
<div class='item-content float-container'>
<div class='popular-posts-snippet snippet-container r-snippet-container'>
<div class='snippet-item r-snippetized'>
2025 was the year of the agent. The goalposts for AGI shifted; we stopped asking AI to merely &quot;talk&quot; and demanded that it &quot;act&quot;. As an outsider looking at the architecture of these new agents and agentic system, I noticed something strange. The engineering tricks used to make AI smarter felt oddly familiar. They read less like computer science and more like &#8230; self-help advice . The secret to agentic intelligence seems to lie in three very human habits: writing things down, talking to yourself, and pretending to be someone else. They are almost too simple. The Unreasonable Effectiveness of Writing One of the most profound pieces of advice I ever read as a PhD student came from Prof. Manuel Blum, a Turing Award winner. In his essay &quot;Advice to a Beginning Graduate Student&quot;, he wrote: &quot;Without writing, you are reduced to a finite automaton. With writing you have the extraordinary power of a Turing machine.&quot; If you try to hold a complex argument enti...
</div>
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2026/01/the-agentic-self-parallels-between-ai.html'></a>
</div>
<div class='jump-link flat-button ripple'>
<a href='https://muratbuffalo.blogspot.com/2026/01/the-agentic-self-parallels-between-ai.html' title='The Agentic Self: Parallels Between AI and Self-Improvement'>
Read more &gt;&gt;
</a>
</div>
</div>
</article>
<article class='post' role='article'>
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2020/06/learning-about-distributed-systems.html'> Learning about distributed systems: where to start?</a></h3>
<div class='post-header'>
<div class='post-header-line-1'>
<span class='byline post-timestamp'>
-
<meta content='http://muratbuffalo.blogspot.com/2020/06/learning-about-distributed-systems.html'/>
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2020/06/learning-about-distributed-systems.html' rel='bookmark' title='permanent link'>
<time class='published' datetime='2020-06-10T00:08:00-04:00' title='2020-06-10T00:08:00-04:00'>
June 10, 2020
</time>
</a>
</span>
</div>
</div>
<div class='item-content float-container'>
<div class='popular-posts-snippet snippet-container r-snippet-container'>
<div class='snippet-item r-snippetized'>
This is definitely not a &quot;learn distributed systems in 21 days&quot; post. I recommend a principled, from the foundations-up, studying of distributed systems, which will take a good three months in the first pass, and many more months to build competence after that. If you are practical and coding oriented you may not like my advice much. You may object saying, &quot;Shouldn&#39;t I learn distributed systems with coding and hands on? Why can I not get started by deploying a Hadoop cluster, or studying the Raft code.&quot; I think that is the wrong way to go about learning distributed systems, because seeing similar code and programming language constructs will make you think this is familiar territory, and will give you a false sense of security. But, nothing can be further from the truth. Distributed systems need radically different software than centralized systems do.&#160; --A. Tannenbaum This quotation is literally the first sentence in my distributed systems syllabus. Inst...
</div>
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2020/06/learning-about-distributed-systems.html'></a>
</div>
<div class='jump-link flat-button ripple'>
<a href='https://muratbuffalo.blogspot.com/2020/06/learning-about-distributed-systems.html' title=' Learning about distributed systems: where to start?'>
Read more &gt;&gt;
</a>
</div>
</div>
</article>
<article class='post' role='article'>
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2023/10/hints-for-distributed-systems-design.html'>Hints for Distributed Systems Design</a></h3>
<div class='post-header'>
<div class='post-header-line-1'>
<span class='byline post-timestamp'>
-
<meta content='http://muratbuffalo.blogspot.com/2023/10/hints-for-distributed-systems-design.html'/>
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2023/10/hints-for-distributed-systems-design.html' rel='bookmark' title='permanent link'>
<time class='published' datetime='2023-10-02T09:44:00-04:00' title='2023-10-02T09:44:00-04:00'>
October 02, 2023
</time>
</a>
</span>
</div>
</div>
<div class='item-content float-container'>
<div class='popular-posts-snippet snippet-container r-snippet-container'>
<div class='snippet-item r-snippetized'>
This is with apologies to Butler Lampson, who published the &quot; Hints for computer system design &quot; paper 40 years ago in SOSP&#39;83. I don&#39;t claim to match that work of course. I just thought I could draft this post to organize my thinking about designing distributed systems and get feedback from others. I start with the same&#160; disclaimer Lampson gave. These hints are not novel, not foolproof recipes, not laws of design, not precisely formulated, and not always appropriate. They are just hints.&#160; They are context dependent, and some of them may be controversial. That being said, I have seen these hints successfully applied in distributed systems design throughout my 25 years in the field, starting from the theory of distributed systems (98-01), immersing into the practice of wireless sensor networks (01-11), and working on cloud computing systems both in the academia and industry ever since. These heuristic principles have been applied knowingly or unknowingly and has proven...
</div>
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2023/10/hints-for-distributed-systems-design.html'></a>
</div>
<div class='jump-link flat-button ripple'>
<a href='https://muratbuffalo.blogspot.com/2023/10/hints-for-distributed-systems-design.html' title='Hints for Distributed Systems Design'>
Read more &gt;&gt;
</a>
</div>
</div>
</article>
<article class='post' role='article'>
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2021/02/foundational-distributed-systems-papers.html'> Foundational distributed systems papers</a></h3>
<div class='post-header'>
<div class='post-header-line-1'>
<span class='byline post-timestamp'>
-
<meta content='http://muratbuffalo.blogspot.com/2021/02/foundational-distributed-systems-papers.html'/>
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2021/02/foundational-distributed-systems-papers.html' rel='bookmark' title='permanent link'>
<time class='published' datetime='2021-02-27T13:26:00-05:00' title='2021-02-27T13:26:00-05:00'>
February 27, 2021
</time>
</a>
</span>
</div>
</div>
<div class='item-content float-container'>
<div class='popular-posts-snippet snippet-container r-snippet-container'>
<div class='snippet-item r-snippetized'>
I talked about the importance of reading foundational papers last week. To followup, here is my compilation of foundational papers in the distributed systems area. (I focused on the core distributed systems area, and did not cover networking, security, distributed ledgers, verification work etc. I even left out distributed transactions, I hope to cover them at a later date.)&#160; I classified the papers by subject, and listed them in chronological order. I also listed expository papers and blog posts at the end of each section. Time and State in Distributed Systems Time, Clocks, and the Ordering of Events in a Distributed System. Leslie Lamport, Commn. of the ACM,&#160; 1978. Distributed Snapshots: Determining Global States of a Distributed System. K. Mani Chandy Leslie Lamport, ACM Transactions on Computer Systems, 1985. Virtual Time and Global States of Distributed Systems. &#160;Mattern, F. 1988. Practical uses of synchronized clocks in distributed systems. B. Liskov, 1991. Exp...
</div>
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2021/02/foundational-distributed-systems-papers.html'></a>
</div>
<div class='jump-link flat-button ripple'>
<a href='https://muratbuffalo.blogspot.com/2021/02/foundational-distributed-systems-papers.html' title=' Foundational distributed systems papers'>
Read more &gt;&gt;
</a>
</div>
</div>
</article>
<article class='post' role='article'>
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2026/03/building-database-on-s3.html'>Building a Database on S3</a></h3>
<div class='post-header'>
<div class='post-header-line-1'>
<span class='byline post-timestamp'>
-
<meta content='http://muratbuffalo.blogspot.com/2026/03/building-database-on-s3.html'/>
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2026/03/building-database-on-s3.html' rel='bookmark' title='permanent link'>
<time class='published' datetime='2026-03-04T22:06:00-05:00' title='2026-03-04T22:06:00-05:00'>
March 04, 2026
</time>
</a>
</span>
</div>
</div>
<div class='item-content float-container'>
<div class='item-thumbnail'>
<a href='https://muratbuffalo.blogspot.com/2026/03/building-database-on-s3.html'>
<img alt='Image' sizes='72px' src='https://blogger.googleusercontent.com/img/a/AVvXsEgUV8paJsfBDCdaizCxyZLf_tgGZc_L1c6HYhST-bupV3snzItwcj-3TzIJnc20dDeTmoFeMaEHxyZpxrqsgI80le-78m0BN7QqcMGPBkhwTLTu-BaWTc0DQ9rpXsag-tonr1n-TYZXz2sRYCk7HQaB94VGFboZ8sPvIL9_mIPGhBpOqL3B_42ueVNyq9o=w393-h400' srcset='https://blogger.googleusercontent.com/img/a/AVvXsEgUV8paJsfBDCdaizCxyZLf_tgGZc_L1c6HYhST-bupV3snzItwcj-3TzIJnc20dDeTmoFeMaEHxyZpxrqsgI80le-78m0BN7QqcMGPBkhwTLTu-BaWTc0DQ9rpXsag-tonr1n-TYZXz2sRYCk7HQaB94VGFboZ8sPvIL9_mIPGhBpOqL3B_42ueVNyq9o=w72-h72-p-k-no-nu 72w, https://blogger.googleusercontent.com/img/a/AVvXsEgUV8paJsfBDCdaizCxyZLf_tgGZc_L1c6HYhST-bupV3snzItwcj-3TzIJnc20dDeTmoFeMaEHxyZpxrqsgI80le-78m0BN7QqcMGPBkhwTLTu-BaWTc0DQ9rpXsag-tonr1n-TYZXz2sRYCk7HQaB94VGFboZ8sPvIL9_mIPGhBpOqL3B_42ueVNyq9o=w144-h144-p-k-no-nu 144w'/>
</a>
</div>
<div class='popular-posts-snippet snippet-container r-snippet-container'>
<div class='snippet-item r-snippetized'>
Hold your horses, though. I&#39;m not unveiling a new S3-native database. This paper is from 2008. Many of its protocols feel clunky today. Yet it nails the core idea that defines modern cloud-native databases: separate storage from compute. The authors propose a shared-disk design over Amazon S3, with stateless clients executing transactions. The paper provides a blueprint for serverless before the term existed. SQS as WAL and S3 as Pagestore The 2008 S3 was painfully slow, and 100 ms reads weren&#39;t unusual. To hide that latency, the database separates &quot;commit&quot; from &quot;apply&quot;. Clients write small, idempotent redo logs to Amazon Simple Queue Service (SQS) instead of touching S3 directly. An asynchronous checkpoint by a client applies those logs to B-tree pages on S3 later. This design shows strong parallels to modern disaggregated architectures . SQS becomes the write-ahead log (WAL) and logstore. S3 becomes the pagestore. Modern Aurora follows a similar logic : t...
</div>
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2026/03/building-database-on-s3.html'></a>
</div>
<div class='jump-link flat-button ripple'>
<a href='https://muratbuffalo.blogspot.com/2026/03/building-database-on-s3.html' title='Building a Database on S3'>
Read more &gt;&gt;
</a>
</div>
</div>
</article>
<article class='post' role='article'>
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2026/01/cloudspecs-cloud-hardware-evolution.html'>Cloudspecs: Cloud Hardware Evolution Through the Looking Glass</a></h3>
<div class='post-header'>
<div class='post-header-line-1'>
<span class='byline post-timestamp'>
-
<meta content='http://muratbuffalo.blogspot.com/2026/01/cloudspecs-cloud-hardware-evolution.html'/>
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2026/01/cloudspecs-cloud-hardware-evolution.html' rel='bookmark' title='permanent link'>
<time class='published' datetime='2026-01-09T10:56:00-05:00' title='2026-01-09T10:56:00-05:00'>
January 09, 2026
</time>
</a>
</span>
</div>
</div>
<div class='item-content float-container'>
<div class='item-thumbnail'>
<a href='https://muratbuffalo.blogspot.com/2026/01/cloudspecs-cloud-hardware-evolution.html'>
<img alt='Image' sizes='72px' src='https://blogger.googleusercontent.com/img/a/AVvXsEhjspXxlUb6cWW1Co2aJyK-hX67_A10kqDPYggxhFSxpW3sncZ1SgKYlJtECVe1Ys1jC6igt4Zs7S9oUFMTRE8755mdxGFVnxoie-Wq8EfUFAT3PMF4hvHXfX_jhLYj-mqmdf0hFxzw-PSstHp0rWfUgY1tJ5sapo6VZAR5Y-yLeOoQMydIKEm2qMO6fC4=w640-h156' srcset='https://blogger.googleusercontent.com/img/a/AVvXsEhjspXxlUb6cWW1Co2aJyK-hX67_A10kqDPYggxhFSxpW3sncZ1SgKYlJtECVe1Ys1jC6igt4Zs7S9oUFMTRE8755mdxGFVnxoie-Wq8EfUFAT3PMF4hvHXfX_jhLYj-mqmdf0hFxzw-PSstHp0rWfUgY1tJ5sapo6VZAR5Y-yLeOoQMydIKEm2qMO6fC4=w72-h72-p-k-no-nu 72w, https://blogger.googleusercontent.com/img/a/AVvXsEhjspXxlUb6cWW1Co2aJyK-hX67_A10kqDPYggxhFSxpW3sncZ1SgKYlJtECVe1Ys1jC6igt4Zs7S9oUFMTRE8755mdxGFVnxoie-Wq8EfUFAT3PMF4hvHXfX_jhLYj-mqmdf0hFxzw-PSstHp0rWfUgY1tJ5sapo6VZAR5Y-yLeOoQMydIKEm2qMO6fC4=w144-h144-p-k-no-nu 144w'/>
</a>
</div>
<div class='popular-posts-snippet snippet-container r-snippet-container'>
<div class='snippet-item r-snippetized'>
This paper (CIDR&#39;26) presents a comprehensive analysis of cloud hardware trends from 2015 to 2025, focusing on AWS and comparing it with other clouds and on-premise hardware. TL;DR: While network bandwidth per dollar improved by one order of magnitude (10x), CPU and DRAM gains (again in performance per dollar terms) have been much more modest. Most surprisingly, NVMe storage performance in the cloud has stagnated since 2016. Check out the NVMe SSD discussion below for data on this anomaly. CPU Trends Multi-core parallelism has skyrocketed in the cloud. Maximum core counts have increased by an order of magnitude over the last decade. The largest AWS instance u7in now boasts 448 cores. However, simply adding cores hasn&#39;t translated linearly into value. To measure real evolution, the authors normalized benchmarks (SPECint, TPC-H, TPC-C) by instance cost. SPECint benchmarking shows that cost-performance improved roughly 3x over ten years. A huge chunk of that gain comes from AWS G...
</div>
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2026/01/cloudspecs-cloud-hardware-evolution.html'></a>
</div>
<div class='jump-link flat-button ripple'>
<a href='https://muratbuffalo.blogspot.com/2026/01/cloudspecs-cloud-hardware-evolution.html' title='Cloudspecs: Cloud Hardware Evolution Through the Looking Glass'>
Read more &gt;&gt;
</a>
</div>
</div>
</article>
<article class='post' role='article'>
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2026/08/specula-scaling-formal-specifications.html'>Specula: Scaling formal specifications for autonomous model checking of system code</a></h3>
<div class='post-header'>
<div class='post-header-line-1'>
<span class='byline post-timestamp'>
-
<meta content='http://muratbuffalo.blogspot.com/2026/08/specula-scaling-formal-specifications.html'/>
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2026/08/specula-scaling-formal-specifications.html' rel='bookmark' title='permanent link'>
<time class='published' datetime='2026-08-12T17:33:00-04:00' title='2026-08-12T17:33:00-04:00'>
August 12, 2026
</time>
</a>
</span>
</div>
</div>
<div class='item-content float-container'>
<div class='item-thumbnail'>
<a href='https://muratbuffalo.blogspot.com/2026/08/specula-scaling-formal-specifications.html'>
<img alt='Image' sizes='72px' src='https://blogger.googleusercontent.com/img/a/AVvXsEh8aSdTkjBNIDBP7p8fvUKbmoGBafOb-jBxnAeyJnM1OPzZLOuYV59r42fROakJTkS_EmvpW__nobsHTsPuk_6vWdby_-FMXC81O0NtV0LxsjD2koZQRNJDVix09WaBoj3LvIldsLOmO_a0eSX3Pe4sgLmvlPcFj4rPw3eHZBzyB3IuczPIDt1Rra882no=w277-h640' srcset='https://blogger.googleusercontent.com/img/a/AVvXsEh8aSdTkjBNIDBP7p8fvUKbmoGBafOb-jBxnAeyJnM1OPzZLOuYV59r42fROakJTkS_EmvpW__nobsHTsPuk_6vWdby_-FMXC81O0NtV0LxsjD2koZQRNJDVix09WaBoj3LvIldsLOmO_a0eSX3Pe4sgLmvlPcFj4rPw3eHZBzyB3IuczPIDt1Rra882no=w72-h72-p-k-no-nu 72w, https://blogger.googleusercontent.com/img/a/AVvXsEh8aSdTkjBNIDBP7p8fvUKbmoGBafOb-jBxnAeyJnM1OPzZLOuYV59r42fROakJTkS_EmvpW__nobsHTsPuk_6vWdby_-FMXC81O0NtV0LxsjD2koZQRNJDVix09WaBoj3LvIldsLOmO_a0eSX3Pe4sgLmvlPcFj4rPw3eHZBzyB3IuczPIDt1Rra882no=w144-h144-p-k-no-nu 144w'/>
</a>
</div>
<div class='popular-posts-snippet snippet-container r-snippet-container'>
<div class='snippet-item r-snippetized'>
Specula is an agentic system that automates the process of software bug finding through authoring and model-checking a spec for the code. It derives TLA+ specifications automatically from the code, checks code-spec conformance through trace validation, model checks the spec to find concurrency bugs, and reproduces the bug at the code layer by writing integration tests with precise timing. I remember reading the Daikon paper &quot;Quickly detecting relevant program invariants&quot; in 2000 and getting impressed by it, and here we are after 26 years, solving the end-to-end problem much better than I ever thought would be possible in a push-button manner in the year of our lord 2026. But somehow, I am still somewhat unsatisfied with the paper. This may be me being hypercritical and trying to get more out of the paper by arguing with it . So bear with me until I resolve (or learn to accept) these problems over time. I know many of the authors of the Specula work, and respect them, and I...
</div>
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2026/08/specula-scaling-formal-specifications.html'></a>
</div>
<div class='jump-link flat-button ripple'>
<a href='https://muratbuffalo.blogspot.com/2026/08/specula-scaling-formal-specifications.html' title='Specula: Scaling formal specifications for autonomous model checking of system code'>
Read more &gt;&gt;
</a>
</div>
</div>
</article>
<article class='post' role='article'>
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2025/04/what-id-do-as-college-freshman.html'>What I'd do as a College Freshman in 2025</a></h3>
<div class='post-header'>
<div class='post-header-line-1'>
<span class='byline post-timestamp'>
-
<meta content='http://muratbuffalo.blogspot.com/2025/04/what-id-do-as-college-freshman.html'/>
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2025/04/what-id-do-as-college-freshman.html' rel='bookmark' title='permanent link'>
<time class='published' datetime='2025-04-10T10:26:00-04:00' title='2025-04-10T10:26:00-04:00'>
April 10, 2025
</time>
</a>
</span>
</div>
</div>
<div class='item-content float-container'>
<div class='popular-posts-snippet snippet-container r-snippet-container'>
<div class='snippet-item r-snippetized'>
Do Computer Science Absolutely. Still would. Many are spooked by LLMs. Some, like Jensen Huang, argue that &quot;nobody has to learn how to program.&quot; &#160; I argue the opposite . And I double down.&#160; Being supported by AI tools is not a substitute for mastery . You can&#8217;t borrow skills. You have to earn them. &#160; Computer science builds vital skills : hacking, debugging, abstract thinking, and quick adaptation. These don&#8217;t go out of style. &#160; Do STEM. It&#8217;s LLM-resistant. LLMs can retrieve and remix information, but do you know what to do with them? Like the dog chasing the car, what now? STEM teaches you that. It teaches you to think, to reason, to act. It gets you from information to wisdom. But only after you&#39;ve mastered the foundations. We&#39;re heading into the age of π-shaped people: depth in two areas, and generalist across . Building depth first, and then ranging is good strategy . &#160; So yes, I would learn the foundations of both CS and AI. And then do AI + X, where X is s...
</div>
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2025/04/what-id-do-as-college-freshman.html'></a>
</div>
<div class='jump-link flat-button ripple'>
<a href='https://muratbuffalo.blogspot.com/2025/04/what-id-do-as-college-freshman.html' title='What I&#39;d do as a College Freshman in 2025'>
Read more &gt;&gt;
</a>
</div>
</div>
</article>
</div>
</div>
</div></div>
</main>
</div>
<footer class='footer section' id='footer' name='Footer'><div class='widget Attribution' data-version='2' id='Attribution1'>
<div class='widget-content'>
<div class='blogger'>
<a href='https://draft.blogger.com' rel='nofollow'>
<svg class='svg-icon-24'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_post_blogger_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
Powered by Blogger
</a>
</div>
<div class='image-attribution'>
Theme images by <a href="http://www.offset.com/photos/394244">Michael Elkan</a>
</div>
<div class='copyright'>Murat Demirbas</div>
</div>
</div></footer>
</div>
</div>
</div>
<aside class='sidebar-container container sidebar-invisible' role='complementary'>
<div class='navigation'>
<button class='svg-icon-24-button flat-icon-button ripple sidebar-back'>
<svg class='svg-icon-24'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_arrow_back_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
</button>
</div>
<div class='sidebar_top_wrapper'>
<div class='sidebar_top section' id='sidebar_top' name='Sidebar (Top)'><div class='widget Profile' data-version='2' id='Profile1'>
<div class='wrapper solo'>
<div class='widget-content individual'>
<a href='https://draft.blogger.com/profile/07842046940394980130' rel='nofollow'>
<img alt='My photo' class='profile-img' height='120' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXlMEQx9THTN7WSG1fVU2GRv7E5wkIh1O2A4DiHbnewhZL2VbaCMz_uvrd5T5jiD56R4dzcMb3j_sZN9D03wMq1MQeipbD2Z67YWyXzpjY_8IjtmAYCxD3Y5hg4Ko752nh2egNrmjT6oWcBsBoCedZK1Ahc_cjNaB7xmUsKn7eshu5_ZU/s1600/MuratBuffalo.png' width='120'/>
</a>
<div class='profile-info'>
<dl class='profile-datablock'>
<dt class='profile-data'>
<a class='profile-link g-profile' href='https://draft.blogger.com/profile/07842046940394980130' rel='author nofollow'>
Murat
</a>
</dt>
<dd class='profile-textblock profile-snippet snippet-container r-snippet-container'>
<div class='snippet-item r-snippetized'>
I am a principal research scientist at MongoDB Research. Ex-AWS. Ex-professor at SUNY Buffalo. I work on distributed systems, databases, cloud computing, formal methods, and neurosymbolic AI. You can follow me on <a href="https://fediscience.org/@muratdemirbas"> Mastodon</a> or <a href="http://twitter.com/muratdemirbas"> Twitter. </a>
</div>
<div class='snippet-fade r-snippet-fade hidden'></div>
</dd>
</dl>
<a class='profile-link visit-profile pill-button' href='https://draft.blogger.com/profile/07842046940394980130' rel='author'>
Visit profile
</a>
</div>
</div>
</div>
</div></div>
</div>
<div class='sidebar_bottom section' id='sidebar_bottom' name='Sidebar (Bottom)'><div class='widget HTML' data-version='2' id='HTML1'>
<h3 class='title'>
Subscribe via email
</h3>
<div class='widget-content'>
<iframe src="https://muratdemirbas.substack.com/embed" width="100%" height="120" style="border: 1px solid #EEE; background: white" frameborder="0" scrolling="no"></iframe>
</div>
</div><div class='widget Stats' data-version='2' id='Stats1'>
<h3 class='title'>
Pageviews
</h3>
<div class='widget-content'>
<div id='Stats1_content' style='display: none;'>
<script src='https://www.gstatic.com/charts/loader.js' type='text/javascript'></script>
<span id='Stats1_sparklinespan' style='display:inline-block; width:75px; height:30px'></span>
<span class='counter-wrapper graph-counter-wrapper' id='Stats1_totalCount'>
</span>
</div>
</div>
</div><div class='widget BlogArchive' data-version='2' id='BlogArchive1'>
<details class='collapsible extendable'>
<summary>
<div class='collapsible-title'>
<h3 class='title'>
Recent Posts
</h3>
<svg class='svg-icon-24 chevron-down'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_expand_more_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
<svg class='svg-icon-24 chevron-up'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_expand_less_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
</div>
</summary>
<div class='widget-content'>
<div id='ArchiveList'>
<div id='BlogArchive1_ArchiveList'>
<div class='first-items'>
<ul class='flat'>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2026/09/'>September<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2026/08/'>August<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2026/07/'>July<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2026/06/'>June<span class='post-count'>7</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2026/05/'>May<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2026/04/'>April<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2026/03/'>March<span class='post-count'>13</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2026/02/'>February<span class='post-count'>9</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2026/01/'>January<span class='post-count'>10</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2025/12/'>December<span class='post-count'>7</span></a>
</li>
</ul>
</div>
<div class='remaining-items'>
<ul class='flat'>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2025/11/'>November<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2025/10/'>October<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2025/09/'>September<span class='post-count'>6</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2025/08/'>August<span class='post-count'>8</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2025/07/'>July<span class='post-count'>7</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2025/06/'>June<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2025/05/'>May<span class='post-count'>8</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2025/04/'>April<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2025/03/'>March<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2025/02/'>February<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2025/01/'>January<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2024/12/'>December<span class='post-count'>8</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2024/11/'>November<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2024/10/'>October<span class='post-count'>8</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2024/09/'>September<span class='post-count'>10</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2024/08/'>August<span class='post-count'>9</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2024/07/'>July<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2024/06/'>June<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2024/05/'>May<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2024/04/'>April<span class='post-count'>6</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2024/03/'>March<span class='post-count'>6</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2024/02/'>February<span class='post-count'>9</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2024/01/'>January<span class='post-count'>7</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2023/12/'>December<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2023/11/'>November<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2023/10/'>October<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2023/09/'>September<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2023/08/'>August<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2023/07/'>July<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2023/06/'>June<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2023/05/'>May<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2023/04/'>April<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2023/03/'>March<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2023/02/'>February<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2023/01/'>January<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2022/12/'>December<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2022/11/'>November<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2022/10/'>October<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2022/09/'>September<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2022/08/'>August<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2022/07/'>July<span class='post-count'>6</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2022/06/'>June<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2022/05/'>May<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2022/04/'>April<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2022/03/'>March<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2022/02/'>February<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2022/01/'>January<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2021/12/'>December<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2021/11/'>November<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2021/10/'>October<span class='post-count'>6</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2021/09/'>September<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2021/08/'>August<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2021/07/'>July<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2021/06/'>June<span class='post-count'>12</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2021/05/'>May<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2021/04/'>April<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2021/03/'>March<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2021/02/'>February<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2021/01/'>January<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2020/12/'>December<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2020/11/'>November<span class='post-count'>7</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2020/10/'>October<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2020/09/'>September<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2020/08/'>August<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2020/07/'>July<span class='post-count'>6</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2020/06/'>June<span class='post-count'>11</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2020/05/'>May<span class='post-count'>9</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2020/04/'>April<span class='post-count'>8</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2020/03/'>March<span class='post-count'>8</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2020/02/'>February<span class='post-count'>7</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2020/01/'>January<span class='post-count'>9</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2019/12/'>December<span class='post-count'>10</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2019/11/'>November<span class='post-count'>14</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2019/10/'>October<span class='post-count'>6</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2019/09/'>September<span class='post-count'>13</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2019/07/'>July<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2019/06/'>June<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2019/05/'>May<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2019/04/'>April<span class='post-count'>6</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2019/03/'>March<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2019/02/'>February<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2019/01/'>January<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2018/12/'>December<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2018/11/'>November<span class='post-count'>7</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2018/10/'>October<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2018/09/'>September<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2018/08/'>August<span class='post-count'>8</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2018/07/'>July<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2018/06/'>June<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2018/05/'>May<span class='post-count'>9</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2018/04/'>April<span class='post-count'>6</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2018/03/'>March<span class='post-count'>9</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2018/02/'>February<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2018/01/'>January<span class='post-count'>13</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2017/12/'>December<span class='post-count'>15</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2017/11/'>November<span class='post-count'>15</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2017/10/'>October<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2017/09/'>September<span class='post-count'>8</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2017/08/'>August<span class='post-count'>10</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2017/07/'>July<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2017/06/'>June<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2017/05/'>May<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2017/04/'>April<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2017/02/'>February<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2017/01/'>January<span class='post-count'>7</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2016/12/'>December<span class='post-count'>7</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2016/11/'>November<span class='post-count'>9</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2016/10/'>October<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2016/09/'>September<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2016/07/'>July<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2016/06/'>June<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2016/05/'>May<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2016/04/'>April<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2016/03/'>March<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2016/02/'>February<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2016/01/'>January<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2015/12/'>December<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2015/11/'>November<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2015/10/'>October<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2015/09/'>September<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2015/08/'>August<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2015/06/'>June<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2015/05/'>May<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2015/04/'>April<span class='post-count'>6</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2015/03/'>March<span class='post-count'>6</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2015/02/'>February<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2015/01/'>January<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2014/11/'>November<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2014/10/'>October<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2014/09/'>September<span class='post-count'>6</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2014/08/'>August<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2014/07/'>July<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2014/06/'>June<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2014/03/'>March<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2014/02/'>February<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2014/01/'>January<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2013/12/'>December<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2013/11/'>November<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2013/08/'>August<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2013/07/'>July<span class='post-count'>4</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2013/06/'>June<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2013/05/'>May<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2013/04/'>April<span class='post-count'>8</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2013/01/'>January<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2012/12/'>December<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2012/11/'>November<span class='post-count'>7</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2012/10/'>October<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2012/09/'>September<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2012/08/'>August<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2012/05/'>May<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2012/03/'>March<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2012/02/'>February<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2012/01/'>January<span class='post-count'>2</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2011/12/'>December<span class='post-count'>3</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2011/09/'>September<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2011/06/'>June<span class='post-count'>1</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2011/05/'>May<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2011/04/'>April<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2011/03/'>March<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2011/02/'>February<span class='post-count'>9</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2011/01/'>January<span class='post-count'>5</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2010/12/'>December<span class='post-count'>6</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2010/11/'>November<span class='post-count'>9</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2010/10/'>October<span class='post-count'>9</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2010/09/'>September<span class='post-count'>7</span></a>
</li>
<li class='archivedate'>
<a href='https://muratbuffalo.blogspot.com/2007/08/'>August<span class='post-count'>1</span></a>
</li>
</ul>
</div>
<span class='show-more pill-button'>Show more</span>
<span class='show-less hidden pill-button'>Show less</span>
</div>
</div>
</div>
</details>
</div><div class='widget Label' data-version='2' id='Label1'>
<details class='collapsible extendable'>
<summary>
<div class='collapsible-title'>
<h3 class='title'>
Topics
</h3>
<svg class='svg-icon-24 chevron-down'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_expand_more_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
<svg class='svg-icon-24 chevron-up'>
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_expand_less_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
</svg>
</div>
</summary>
<div class='widget-content cloud-label-widget-content'>
<div class='first-items'>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/2PC'>2PC<span class='label-count'>2</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/abstraction'>abstraction<span class='label-count'>11</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/agentic'>agentic<span class='label-count'>19</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/AI'>AI<span class='label-count'>29</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/analytics'>analytics<span class='label-count'>3</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/atomic%20storage'>atomic storage<span class='label-count'>2</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/auditability'>auditability<span class='label-count'>5</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/automated%20reasoning'>automated reasoning<span class='label-count'>19</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/aws'>aws<span class='label-count'>5</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/Azure'>Azure<span class='label-count'>11</span></a></span>
</div>
<div class='remaining-items'>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/benchmarks'>benchmarks<span class='label-count'>4</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/bestof'>bestof<span class='label-count'>9</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/big-data'>big-data<span class='label-count'>32</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/Blockchain'>Blockchain<span class='label-count'>39</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/book-review'>book-review<span class='label-count'>56</span></a></span>
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/bugs'>bugs<span class='label-count'>1</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/calm'>calm<span class='label-count'>5</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/chaos'>chaos<span class='label-count'>2</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/claude'>claude<span class='label-count'>2</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/cloud%20computing'>cloud computing<span class='label-count'>21</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/ConcurrencyControlBook'>ConcurrencyControlBook<span class='label-count'>7</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/consistency'>consistency<span class='label-count'>34</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/Cosmos%20DB'>Cosmos DB<span class='label-count'>11</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/CosmosDB'>CosmosDB<span class='label-count'>12</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/crdts'>crdts<span class='label-count'>2</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/data%20warehouse'>data warehouse<span class='label-count'>2</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/databases'>databases<span class='label-count'>70</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/datacenter%20networking'>datacenter networking<span class='label-count'>3</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/dataflow'>dataflow<span class='label-count'>11</span></a></span>
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/dbos'>dbos<span class='label-count'>1</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/DDIA'>DDIA<span class='label-count'>15</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/disaggregation'>disaggregation<span class='label-count'>9</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/distributed%20consensus'>distributed consensus<span class='label-count'>54</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/distributed%20transactions'>distributed transactions<span class='label-count'>44</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/distSQL'>distSQL<span class='label-count'>10</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/facebook'>facebook<span class='label-count'>16</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/failures'>failures<span class='label-count'>18</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/fault-tolerance'>fault-tolerance<span class='label-count'>49</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/formal%20methods'>formal methods<span class='label-count'>25</span></a></span>
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/graph-processing'>graph-processing<span class='label-count'>1</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/hpts'>hpts<span class='label-count'>3</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/htap'>htap<span class='label-count'>3</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/humans'>humans<span class='label-count'>10</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/indexing'>indexing<span class='label-count'>4</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/isolation%20levels'>isolation levels<span class='label-count'>5</span></a></span>
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/joke'>joke<span class='label-count'>1</span></a></span>
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/linearizability'>linearizability<span class='label-count'>1</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/links'>links<span class='label-count'>2</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/liveDiscussion'>liveDiscussion<span class='label-count'>9</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/mad-questions'>mad-questions<span class='label-count'>42</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/main-memory'>main-memory<span class='label-count'>2</span></a></span>
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/measuring'>measuring<span class='label-count'>1</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/metastability'>metastability<span class='label-count'>8</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/microservices'>microservices<span class='label-count'>2</span></a></span>
<span class='label-size label-size-5'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/misc'>misc<span class='label-count'>131</span></a></span>
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/ML'>ML<span class='label-count'>1</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/mlbegin'>mlbegin<span class='label-count'>7</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/mldl'>mldl<span class='label-count'>26</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/mobile'>mobile<span class='label-count'>2</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/mongodb'>mongodb<span class='label-count'>10</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/MVCC'>MVCC<span class='label-count'>4</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/my%20advice'>my advice<span class='label-count'>27</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/my-paper'>my-paper<span class='label-count'>12</span></a></span>
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/networking'>networking<span class='label-count'>1</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/newsql'>newsql<span class='label-count'>3</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/NoSQL'>NoSQL<span class='label-count'>3</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/OLAP'>OLAP<span class='label-count'>2</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/OLTP'>OLTP<span class='label-count'>7</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/ostep'>ostep<span class='label-count'>8</span></a></span>
<span class='label-size label-size-5'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/paper-review'>paper-review<span class='label-count'>154</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/paxos'>paxos<span class='label-count'>55</span></a></span>
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/postgres'>postgres<span class='label-count'>1</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/presenting'>presenting<span class='label-count'>4</span></a></span>
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/privacy'>privacy<span class='label-count'>1</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/programming'>programming<span class='label-count'>7</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/query-processing'>query-processing<span class='label-count'>2</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/raft'>raft<span class='label-count'>4</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/RDMA'>RDMA<span class='label-count'>3</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/reading-group'>reading-group<span class='label-count'>27</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/recent-reads'>recent-reads<span class='label-count'>2</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/reconfiguration'>reconfiguration<span class='label-count'>4</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/research-advice'>research-advice<span class='label-count'>58</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/research-question'>research-question<span class='label-count'>45</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/Rust'>Rust<span class='label-count'>3</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/scheduling'>scheduling<span class='label-count'>5</span></a></span>
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/security'>security<span class='label-count'>1</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/seminar'>seminar<span class='label-count'>9</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/serializability'>serializability<span class='label-count'>4</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/serverless'>serverless<span class='label-count'>2</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/smartphones'>smartphones<span class='label-count'>2</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/snapshot%20isolation'>snapshot isolation<span class='label-count'>9</span></a></span>
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/sonification'>sonification<span class='label-count'>1</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/SQL'>SQL<span class='label-count'>6</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/stabilization'>stabilization<span class='label-count'>7</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/statistics'>statistics<span class='label-count'>3</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/stream-processing'>stream-processing<span class='label-count'>12</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/teaching'>teaching<span class='label-count'>33</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/tensorflow'>tensorflow<span class='label-count'>11</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/testing'>testing<span class='label-count'>5</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/time'>time<span class='label-count'>23</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/time%20synchronization'>time synchronization<span class='label-count'>8</span></a></span>
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/timeDB'>timeDB<span class='label-count'>8</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/tla'>tla<span class='label-count'>68</span></a></span>
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/tpbook'>tpbook<span class='label-count'>1</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/transactions'>transactions<span class='label-count'>42</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/trip-report'>trip-report<span class='label-count'>43</span></a></span>
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/wpaxos'>wpaxos<span class='label-count'>6</span></a></span>
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/writing'>writing<span class='label-count'>32</span></a></span>
</div>
<span class='show-more pill-button'>Show more</span>
<span class='show-less hidden pill-button'>Show less</span>
</div>
</details>
</div>
</div>
</aside>
<script type="text/javascript" src="https://resources.blogblog.com/blogblog/data/res/608349471-indie_compiled.js" async="true"></script>
<script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/851759228-widgets.js"></script>
<script type='text/javascript'>
window['__wavt'] = 'AAPvtVmJBw1hAx1G9EZEncJgpq4f:1789195945755';_WidgetManager._Init('//draft.blogger.com/rearrange?blogID\x3d8436330762136344379','//muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html','8436330762136344379');
_WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '8436330762136344379', 'title': 'Metadata', 'url': 'https://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html', 'canonicalUrl': 'http://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html', 'homepageUrl': 'https://muratbuffalo.blogspot.com/', 'searchUrl': 'https://muratbuffalo.blogspot.com/search', 'canonicalHomepageUrl': 'http://muratbuffalo.blogspot.com/', 'blogspotFaviconUrl': 'https://muratbuffalo.blogspot.com/favicon.ico', 'bloggerUrl': 'https://draft.blogger.com', 'hasCustomDomain': false, 'httpsEnabled': true, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': 'G-8187JXPXZK', 'analytics4': true, 'encoding': 'UTF-8', 'locale': 'en', 'localeUnderscoreDelimited': 'en', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'isDynamicViewsAvailable': true, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Metadata - Atom\x22 href\x3d\x22https://muratbuffalo.blogspot.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22Metadata - RSS\x22 href\x3d\x22https://muratbuffalo.blogspot.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Metadata - Atom\x22 href\x3d\x22https://draft.blogger.com/feeds/8436330762136344379/posts/default\x22 /\x3e\n\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Metadata - Atom\x22 href\x3d\x22https://muratbuffalo.blogspot.com/feeds/7900407123867436342/comments/default\x22 /\x3e\n', 'meTag': '', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': false, 'adsenseAutoAds': false, 'boqCommentIframeForm': true, 'loginRedirectParam': '', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/31d4351e075118ef', 'plusOneApiSrc': 'https://apis.google.com/js/platform.js', 'disableGComments': true, 'interstitialAccepted': false, 'sharing': {'platforms': [{'name': 'Get link', 'key': 'link', 'shareMessage': 'Get link', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Share to Facebook', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'X', 'key': 'twitter', 'shareMessage': 'Share to X', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Share to Pinterest', 'target': 'pinterest'}, {'name': 'Email', 'key': 'email', 'shareMessage': 'Email', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 0, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27en\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': true, 'jumpLinkMessage': 'Read more \x26gt;\x26gt;', 'pageType': 'item', 'postId': '7900407123867436342', 'postImageThumbnailUrl': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyACQkUtydHjYT4HG_V4lbw6NfTUc3NsZNopHj3GFnPq8yx4pkUh-OwZh8EUWZ3RaSl5Tks5f2Q1EgQtQy46MQV6CbKL7dQ5ohTZGj8W9kqdzipQKlLpuWkbDAHnw59satbRcFEBWBqYIKaaxf5ji8hjOSnE-42ZFVL0NUpHfcGsUXoBNGX0solhJfsFI/s72-w400-c-h288/Screenshot%202025-11-24%20at%2010.27.24%E2%80%AFPM.png', 'postImageUrl': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyACQkUtydHjYT4HG_V4lbw6NfTUc3NsZNopHj3GFnPq8yx4pkUh-OwZh8EUWZ3RaSl5Tks5f2Q1EgQtQy46MQV6CbKL7dQ5ohTZGj8W9kqdzipQKlLpuWkbDAHnw59satbRcFEBWBqYIKaaxf5ji8hjOSnE-42ZFVL0NUpHfcGsUXoBNGX0solhJfsFI/w400-h288/Screenshot%202025-11-24%20at%2010.27.24%E2%80%AFPM.png', 'pageName': 'Mitigating Application Resource Overload with Targeted Task Cancellation', 'pageTitle': 'Metadata: Mitigating Application Resource Overload with Targeted Task Cancellation'}}, {'name': 'features', 'data': {}}, {'name': 'messages', 'data': {'edit': 'Edit', 'linkCopiedToClipboard': 'Link copied to clipboard!', 'ok': 'Ok', 'postLink': 'Post Link'}}, {'name': 'template', 'data': {'name': 'custom', 'localizedName': 'Custom', 'isResponsive': true, 'isAlternateRendering': false, 'isCustom': true}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': 'Mitigating Application Resource Overload with Targeted Task Cancellation', 'description': 'The Atropos paper (SOSP\x2725) argues that overload-control systems are built on a flawed assumption. They monitor global signals (like queue ...', 'featuredImage': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyACQkUtydHjYT4HG_V4lbw6NfTUc3NsZNopHj3GFnPq8yx4pkUh-OwZh8EUWZ3RaSl5Tks5f2Q1EgQtQy46MQV6CbKL7dQ5ohTZGj8W9kqdzipQKlLpuWkbDAHnw59satbRcFEBWBqYIKaaxf5ji8hjOSnE-42ZFVL0NUpHfcGsUXoBNGX0solhJfsFI/w400-h288/Screenshot%202025-11-24%20at%2010.27.24%E2%80%AFPM.png', 'url': 'https://muratbuffalo.blogspot.com/2025/11/mitigating-application-resource.html', 'type': 'item', 'isSingleItem': true, 'isMultipleItems': false, 'isError': false, 'isPage': false, 'isPost': true, 'isHomepage': false, 'isArchive': false, 'isLabelSearch': false, 'postId': 7900407123867436342}}, {'name': 'widgets', 'data': [{'title': 'Search This Blog', 'type': 'BlogSearch', 'sectionId': 'search_top', 'id': 'BlogSearch1'}, {'title': 'Metadata (Header)', 'type': 'Header', 'sectionId': 'header', 'id': 'Header1'}, {'title': 'Blog Posts', 'type': 'Blog', 'sectionId': 'page_body', 'id': 'Blog1', 'posts': [{'id': '7900407123867436342', 'title': 'Mitigating Application Resource Overload with Targeted Task Cancellation', 'featuredImage': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyACQkUtydHjYT4HG_V4lbw6NfTUc3NsZNopHj3GFnPq8yx4pkUh-OwZh8EUWZ3RaSl5Tks5f2Q1EgQtQy46MQV6CbKL7dQ5ohTZGj8W9kqdzipQKlLpuWkbDAHnw59satbRcFEBWBqYIKaaxf5ji8hjOSnE-42ZFVL0NUpHfcGsUXoBNGX0solhJfsFI/w400-h288/Screenshot%202025-11-24%20at%2010.27.24%E2%80%AFPM.png', 'showInlineAds': false}], 'headerByline': {'regionName': 'header1', 'items': [{'name': 'share', 'label': ''}, {'name': 'timestamp', 'label': '-'}]}, 'footerBylines': [{'regionName': 'footer1', 'items': [{'name': 'comments', 'label': 'comments'}, {'name': 'icons', 'label': ''}]}, {'regionName': 'footer2', 'items': [{'name': 'labels', 'label': ''}]}, {'regionName': 'footer3', 'items': [{'name': 'location', 'label': 'Location:'}]}], 'allBylineItems': [{'name': 'share', 'label': ''}, {'name': 'timestamp', 'label': '-'}, {'name': 'comments', 'label': 'comments'}, {'name': 'icons', 'label': ''}, {'name': 'labels', 'label': ''}, {'name': 'location', 'label': 'Location:'}]}, {'title': '', 'type': 'PopularPosts', 'sectionId': 'page_body', 'id': 'PopularPosts1', 'posts': [{'title': 'The Safest Job from AI may be Writing', 'id': 3474170472248755218}, {'title': 'The Two Abstractions of System Design: Hide or Reduce', 'id': 3031374066882365427}, {'title': 'The Agentic Self: Parallels Between AI and Self-Improvement', 'id': 7002344051705218447}, {'title': ' Learning about distributed systems: where to start?', 'id': 1265255918931660489}, {'title': 'Hints for Distributed Systems Design', 'id': 541578283189852885}, {'title': ' Foundational distributed systems papers', 'id': 9195727313486447941}, {'title': 'Building a Database on S3', 'id': 6882654946668462778}, {'title': 'Cloudspecs: Cloud Hardware Evolution Through the Looking Glass', 'id': 9104187276584034736}, {'title': 'Specula: Scaling formal specifications for autonomous model checking of system code', 'id': 6722390316485163334}, {'title': 'What I\x27d do as a College Freshman in 2025', 'id': 6461457030698793296}]}, {'type': 'Attribution', 'sectionId': 'footer', 'id': 'Attribution1'}, {'title': 'About Me', 'type': 'Profile', 'sectionId': 'sidebar_top', 'id': 'Profile1'}, {'title': 'Subscribe via email', 'type': 'HTML', 'sectionId': 'sidebar_bottom', 'id': 'HTML1'}, {'title': 'Pageviews', 'type': 'Stats', 'sectionId': 'sidebar_bottom', 'id': 'Stats1'}, {'title': 'Recent Posts', 'type': 'BlogArchive', 'sectionId': 'sidebar_bottom', 'id': 'BlogArchive1'}, {'title': 'Topics', 'type': 'Label', 'sectionId': 'sidebar_bottom', 'id': 'Label1'}]}]);
_WidgetManager._RegisterWidget('_BlogSearchView', new _WidgetInfo('BlogSearch1', 'search_top', document.getElementById('BlogSearch1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'page_body', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'lightboxEnabled': true, 'lightboxModuleUrl': 'https://www.blogger.com/static/v1/jsbin/120969204-lbx.js', 'lightboxCssUrl': 'https://www.blogger.com/static/v1/v-css/828616780-lightbox_bundle.css'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_PopularPostsView', new _WidgetInfo('PopularPosts1', 'page_body', document.getElementById('PopularPosts1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_AttributionView', new _WidgetInfo('Attribution1', 'footer', document.getElementById('Attribution1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_ProfileView', new _WidgetInfo('Profile1', 'sidebar_top', document.getElementById('Profile1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML1', 'sidebar_bottom', document.getElementById('HTML1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_StatsView', new _WidgetInfo('Stats1', 'sidebar_bottom', document.getElementById('Stats1'), {'title': 'Pageviews', 'showGraphicalCounter': true, 'showAnimatedCounter': true, 'showSparkline': true, 'statsUrl': '//muratbuffalo.blogspot.com/b/stats?style\x3dBLACK_TRANSPARENT\x26timeRange\x3dALL_TIME\x26token\x3dAEz_qU-Ext0cLEHRyDGIWq86xtAHgXFpYsgXUdqZI-dyPleoUPK9c_RygSDHDfQbXRe53vzU_UoAiFiwj0vMpz8'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar_bottom', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading\x26hellip;'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_LabelView', new _WidgetInfo('Label1', 'sidebar_bottom', document.getElementById('Label1'), {}, 'displayModeFull'));
</script>
</body>
</html>