Files
2026-08-18 13:39:21 +00:00

29 lines
24 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html><html lang=en dir=auto data-theme=auto><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><title>SoCC 2025 Digest | Publish Assistant</title><meta name=keywords content><meta name=description content="13 papers selected.
From Bottleneck to Breakthrough: Optimizing Scheduling for Hyperscale Containerized Clusters
Bing Li, Yuquan Ren, Xinyi Song, Zhilei Liu et al.
TL;DR — Documents production-scale scheduling improvements at a hyperscale cloud provider, demonstrating how targeted optimizations reduce scheduling tail latency and increase cluster utilization in real containerized workloads.
CPU-Limits kill Performance: Time to rethink Resource Control
Chirag C. Shetty, Sarthak Chakraborty, Hubertus Franke, Larisa Shwartz et al.
TL;DR — Challenges the conventional use of CPU cgroup limits in cloud environments, showing through production evidence that CFS bandwidth throttling degrades application QoS and proposing a rethink of resource control abstractions."><meta name=author content="Publish Assistant"><link rel=canonical href=https://pub.sqrt.fr/vincent/publish-assistant/cloud-edge/digests/socc-2025/><link crossorigin=anonymous href=/vincent/publish-assistant/assets/css/stylesheet.d72f07832e13c592b3edba91680bfe70f01daac396179bcace0ac36e8e0494c6.css integrity="sha256-1y8Hgy4TxZKz7bqRaAv+cPAdqsOWF5vKzgrDbo4ElMY=" rel="preload stylesheet" as=style><link rel=icon href=https://pub.sqrt.fr/vincent/publish-assistant/favicon.ico><link rel=icon type=image/png sizes=16x16 href=https://pub.sqrt.fr/vincent/publish-assistant/favicon-16x16.png><link rel=icon type=image/png sizes=32x32 href=https://pub.sqrt.fr/vincent/publish-assistant/favicon-32x32.png><link rel=apple-touch-icon href=https://pub.sqrt.fr/vincent/publish-assistant/apple-touch-icon.png><link rel=mask-icon href=https://pub.sqrt.fr/vincent/publish-assistant/safari-pinned-tab.svg><meta name=theme-color content="#2e2e33"><meta name=msapplication-TileColor content="#2e2e33"><link rel=alternate hreflang=en href=https://pub.sqrt.fr/vincent/publish-assistant/cloud-edge/digests/socc-2025/><noscript><style>#theme-toggle,.top-link{display:none}</style><style>@media(prefers-color-scheme:dark){:root{--theme:rgb(29, 30, 32);--entry:rgb(46, 46, 51);--primary:rgb(218, 218, 219);--secondary:rgb(155, 156, 157);--tertiary:rgb(65, 66, 68);--content:rgb(196, 196, 197);--code-block-bg:rgb(46, 46, 51);--code-bg:rgb(55, 56, 62);--border:rgb(51, 51, 51);color-scheme:dark}.list{background:var(--theme)}.toc{background:var(--entry)}}</style></noscript><script>localStorage.getItem("pref-theme")==="dark"?document.querySelector("html").dataset.theme="dark":localStorage.getItem("pref-theme")==="light"?document.querySelector("html").dataset.theme="light":window.matchMedia("(prefers-color-scheme: dark)").matches?document.querySelector("html").dataset.theme="dark":document.querySelector("html").dataset.theme="light"</script><meta property="og:url" content="https://pub.sqrt.fr/vincent/publish-assistant/cloud-edge/digests/socc-2025/"><meta property="og:site_name" content="Publish Assistant"><meta property="og:title" content="SoCC 2025 Digest"><meta property="og:description" content="13 papers selected.
From Bottleneck to Breakthrough: Optimizing Scheduling for Hyperscale Containerized Clusters Bing Li, Yuquan Ren, Xinyi Song, Zhilei Liu et al.
TL;DR — Documents production-scale scheduling improvements at a hyperscale cloud provider, demonstrating how targeted optimizations reduce scheduling tail latency and increase cluster utilization in real containerized workloads.
CPU-Limits kill Performance: Time to rethink Resource Control Chirag C. Shetty, Sarthak Chakraborty, Hubertus Franke, Larisa Shwartz et al.
TL;DR — Challenges the conventional use of CPU cgroup limits in cloud environments, showing through production evidence that CFS bandwidth throttling degrades application QoS and proposing a rethink of resource control abstractions."><meta property="og:locale" content="en_us"><meta property="og:type" content="article"><meta property="article:section" content="cloud-edge"><meta property="article:published_time" content="2025-01-01T00:00:00+00:00"><meta property="article:modified_time" content="2025-01-01T00:00:00+00:00"><meta name=twitter:card content="summary"><meta name=twitter:title content="SoCC 2025 Digest"><meta name=twitter:description content="13 papers selected.
From Bottleneck to Breakthrough: Optimizing Scheduling for Hyperscale Containerized Clusters Bing Li, Yuquan Ren, Xinyi Song, Zhilei Liu et al.
TL;DR — Documents production-scale scheduling improvements at a hyperscale cloud provider, demonstrating how targeted optimizations reduce scheduling tail latency and increase cluster utilization in real containerized workloads.
CPU-Limits kill Performance: Time to rethink Resource Control Chirag C. Shetty, Sarthak Chakraborty, Hubertus Franke, Larisa Shwartz et al.
TL;DR — Challenges the conventional use of CPU cgroup limits in cloud environments, showing through production evidence that CFS bandwidth throttling degrades application QoS and proposing a rethink of resource control abstractions."><script type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Edge and Cloud Systems","item":"https://pub.sqrt.fr/vincent/publish-assistant/cloud-edge/"},{"@type":"ListItem","position":2,"name":"Digests","item":"https://pub.sqrt.fr/vincent/publish-assistant/cloud-edge/digests/"},{"@type":"ListItem","position":3,"name":"SoCC 2025 Digest","item":"https://pub.sqrt.fr/vincent/publish-assistant/cloud-edge/digests/socc-2025/"}]}</script><script type=application/ld+json>{"@context":"https://schema.org","@type":"BlogPosting","headline":"SoCC 2025 Digest","name":"SoCC 2025 Digest","description":"13 papers selected.\nFrom Bottleneck to Breakthrough: Optimizing Scheduling for Hyperscale Containerized Clusters Bing Li, Yuquan Ren, Xinyi Song, Zhilei Liu et al.\nTL;DR — Documents production-scale scheduling improvements at a hyperscale cloud provider, demonstrating how targeted optimizations reduce scheduling tail latency and increase cluster utilization in real containerized workloads.\nCPU-Limits kill Performance: Time to rethink Resource Control Chirag C. Shetty, Sarthak Chakraborty, Hubertus Franke, Larisa Shwartz et al.\nTL;DR — Challenges the conventional use of CPU cgroup limits in cloud environments, showing through production evidence that CFS bandwidth throttling degrades application QoS and proposing a rethink of resource control abstractions.\n","keywords":[],"articleBody":"13 papers selected.\nFrom Bottleneck to Breakthrough: Optimizing Scheduling for Hyperscale Containerized Clusters Bing Li, Yuquan Ren, Xinyi Song, Zhilei Liu et al.\nTL;DR — Documents production-scale scheduling improvements at a hyperscale cloud provider, demonstrating how targeted optimizations reduce scheduling tail latency and increase cluster utilization in real containerized workloads.\nCPU-Limits kill Performance: Time to rethink Resource Control Chirag C. Shetty, Sarthak Chakraborty, Hubertus Franke, Larisa Shwartz et al.\nTL;DR — Challenges the conventional use of CPU cgroup limits in cloud environments, showing through production evidence that CFS bandwidth throttling degrades application QoS and proposing a rethink of resource control abstractions.\nRethinking Tiered Memory Management in Cloud Data Centers Tong Xing 0002, Jiaxun Yang, Javier Picorel, Antonio Barbalace\nTL;DR — Proposes a novel tiered memory management framework for cloud data centers that improves performance by rethinking the placement and migration policies across DRAM and CXL/NVM tiers.\nCost-Efficient Cloud Infrastructure with Hugepage-aware Memory Deduplication Ruizhe Huang, Xinyu Wang 0043, Zhida An, Hanwen Lei et al.\nTL;DR — Deploys hugepage-aware memory deduplication in a large production cloud, achieving significant memory savings without the performance regressions that plague conventional THP-based deduplication.\nALAP: Intent-Based Serverless Computing via Delayed Decision-Making Prasoon Sinha, Kostis Kaffes, Neeraja J. Yadwadkar\nTL;DR — Introduces an intent-based programming model for serverless that defers scheduling decisions until runtime context is available, improving resource efficiency and SLO attainment over eager placement strategies.\nHydra: Virtualized Multi-Language Runtime for High-Density Serverless Platforms Serhii Ivanenko, Vasyl Lanko, Rudi Horn, Vojin Jovanovic et al.\nTL;DR — Presents a virtualized runtime that multiplexes multiple language environments within a single sandbox, enabling higher function density and faster cold starts on serverless platforms.\nServerless Elasticsearch: the Architecture Transformation from Stateful to Stateless Iraklis Psaroudakis, Pooya Salehi, Jason Bryan, Francisco Fernández Castaño et al.\nTL;DR — Describes Elastics production migration of Elasticsearch to a serverless, stateless architecture, sharing engineering lessons on decoupling compute from state at cloud scale.\nDFUSE: Strongly Consistent Write-Back Kernel Caching for Distributed Userspace File Systems Haoyu Li, Jingkai Fu, Qing Li 0002, Windsor Hsu et al.\nTL;DR — Closes a long-standing gap in FUSE-based distributed file systems by enabling strongly consistent write-back caching in the kernel, significantly improving throughput without sacrificing correctness.\nAccelerating Distributed Filesystem Metadata Service via Decoupling Directory Semantics from Metadata Indexing Wenhao Lv, Hao Guo, Qing Wang 0031, Youyou Lu et al.\nTL;DR — Achieves scalable distributed filesystem metadata by separating directory namespace semantics from the underlying index structure, reducing contention and improving throughput for large-scale cloud storage.\nValet: Efficient Data Placement on Modern SSDs Devashish R. Purandare, Peter Alvaro, Avani Wildani, Darrell D. E. Long et al.\nTL;DR — Exploits fine-grained internal SSD geometry to make smarter data placement decisions, yielding measurable I/O performance gains without changes to the host storage stack.\nUnderstanding Diffusion Model Serving in Production: A Top-Down Analysis of Workload, Scheduling, and Resource Efficiency Yanying Lin, Shuaipeng Wu, Shutian Luo, Hong Xu 0001 et al.\nTL;DR — Provides the first comprehensive production characterization of diffusion model inference workloads, revealing unique scheduling and resource efficiency challenges distinct from LLM serving.\nModServe: Modality- and Stage-Aware Resource Disaggregation for Scalable Multimodal Model Serving Haoran Qiu, Anish Biswas, Zihan Zhao, Jayashree Mohan et al.\nTL;DR — Disaggregates compute resources per modality and pipeline stage for multimodal inference, with a Microsoft production deployment showing improved GPU utilization and latency over monolithic serving.\nTHORN-ML: Transparent Hardware Offloaded Resilient Networks for RDMA based Distributed ML Workloads Maziyar Nazari, Daniel Noland, Giulio Sidoretti, Erika Hunhoff et al.\nTL;DR — Offloads RDMA fault detection and recovery to programmable network hardware, making distributed ML training resilient to network failures without modifying the training framework or incurring software overhead.\n","wordCount":"609","inLanguage":"en","datePublished":"2025-01-01T00:00:00Z","dateModified":"2025-01-01T00:00:00Z","author":{"@type":"Person","name":"Publish Assistant"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://pub.sqrt.fr/vincent/publish-assistant/cloud-edge/digests/socc-2025/"},"publisher":{"@type":"Organization","name":"Publish Assistant","logo":{"@type":"ImageObject","url":"https://pub.sqrt.fr/vincent/publish-assistant/favicon.ico"}}}</script></head><body id=top><header class=header><nav class=header-nav><div class=logo><a href=https://pub.sqrt.fr/vincent/publish-assistant/ accesskey=h title="Publish Assistant (Alt + H)">Publish Assistant</a>
<span class=logo-sep>/</span>
<a class=logo-topic href=/vincent/publish-assistant/cloud-edge/ title="Edge and Cloud Systems">Edge and Cloud Systems</a><div class=logo-switches><button id=theme-toggle class=theme-toggle accesskey=t title="(Alt + T)" aria-label="Toggle theme">
<svg class="moon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg>
<svg class="sun" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button></div></div><ul id=menu class=menu><li><a href=/vincent/publish-assistant/cloud-edge/venues/ title=Venues><span>Venues</span></a></li><li><a href=/vincent/publish-assistant/cloud-edge/calendar/ title=Calendar><span>Calendar</span></a></li><li><a href=/vincent/publish-assistant/cloud-edge/digests/ title=Digests><span class=active>Digests</span></a></li></ul></nav></header><main class=main><article class=post-single><header class=post-header><nav class=breadcrumbs role=navigation aria-label=Breadcrumb><a href=/vincent/publish-assistant/cloud-edge/digests/>Digests</a>
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right"><polyline points="9 18 15 12 9 6"/></svg></nav><h1 class="post-title entry-hint-parent">SoCC 2025 Digest</h1><div class=post-meta><span title='2025-01-01 00:00:00 +0000 UTC'>January 1, 2025</span>&nbsp;·&nbsp;<span>Publish Assistant</span></div></header><div class="post-content md-content"><p>13 papers selected.</p><hr><h3 id=from-bottleneck-to-breakthrough-optimizing-scheduling-for-hyperscale-containerized-clusters>From Bottleneck to Breakthrough: Optimizing Scheduling for Hyperscale Containerized Clusters<a hidden class=anchor aria-hidden=true href=#from-bottleneck-to-breakthrough-optimizing-scheduling-for-hyperscale-containerized-clusters>#</a></h3><p><em>Bing Li, Yuquan Ren, Xinyi Song, Zhilei Liu <em>et al.</em></em></p><p><strong>TL;DR</strong> — Documents production-scale scheduling improvements at a hyperscale cloud provider, demonstrating how targeted optimizations reduce scheduling tail latency and increase cluster utilization in real containerized workloads.</p><hr><h3 id=cpu-limits-kill-performance-time-to-rethink-resource-control>CPU-Limits kill Performance: Time to rethink Resource Control<a hidden class=anchor aria-hidden=true href=#cpu-limits-kill-performance-time-to-rethink-resource-control>#</a></h3><p><em>Chirag C. Shetty, Sarthak Chakraborty, Hubertus Franke, Larisa Shwartz <em>et al.</em></em></p><p><strong>TL;DR</strong> — Challenges the conventional use of CPU cgroup limits in cloud environments, showing through production evidence that CFS bandwidth throttling degrades application QoS and proposing a rethink of resource control abstractions.</p><hr><h3 id=rethinking-tiered-memory-management-in-cloud-data-centers>Rethinking Tiered Memory Management in Cloud Data Centers<a hidden class=anchor aria-hidden=true href=#rethinking-tiered-memory-management-in-cloud-data-centers>#</a></h3><p><em>Tong Xing 0002, Jiaxun Yang, Javier Picorel, Antonio Barbalace</em></p><p><strong>TL;DR</strong> — Proposes a novel tiered memory management framework for cloud data centers that improves performance by rethinking the placement and migration policies across DRAM and CXL/NVM tiers.</p><hr><h3 id=cost-efficient-cloud-infrastructure-with-hugepage-aware-memory-deduplication>Cost-Efficient Cloud Infrastructure with Hugepage-aware Memory Deduplication<a hidden class=anchor aria-hidden=true href=#cost-efficient-cloud-infrastructure-with-hugepage-aware-memory-deduplication>#</a></h3><p><em>Ruizhe Huang, Xinyu Wang 0043, Zhida An, Hanwen Lei <em>et al.</em></em></p><p><strong>TL;DR</strong> — Deploys hugepage-aware memory deduplication in a large production cloud, achieving significant memory savings without the performance regressions that plague conventional THP-based deduplication.</p><hr><h3 id=alap-intent-based-serverless-computing-via-delayed-decision-making>ALAP: Intent-Based Serverless Computing via Delayed Decision-Making<a hidden class=anchor aria-hidden=true href=#alap-intent-based-serverless-computing-via-delayed-decision-making>#</a></h3><p><em>Prasoon Sinha, Kostis Kaffes, Neeraja J. Yadwadkar</em></p><p><strong>TL;DR</strong> — Introduces an intent-based programming model for serverless that defers scheduling decisions until runtime context is available, improving resource efficiency and SLO attainment over eager placement strategies.</p><hr><h3 id=hydra-virtualized-multi-language-runtime-for-high-density-serverless-platforms>Hydra: Virtualized Multi-Language Runtime for High-Density Serverless Platforms<a hidden class=anchor aria-hidden=true href=#hydra-virtualized-multi-language-runtime-for-high-density-serverless-platforms>#</a></h3><p><em>Serhii Ivanenko, Vasyl Lanko, Rudi Horn, Vojin Jovanovic <em>et al.</em></em></p><p><strong>TL;DR</strong> — Presents a virtualized runtime that multiplexes multiple language environments within a single sandbox, enabling higher function density and faster cold starts on serverless platforms.</p><hr><h3 id=serverless-elasticsearch-the-architecture-transformation-from-stateful-to-stateless>Serverless Elasticsearch: the Architecture Transformation from Stateful to Stateless<a hidden class=anchor aria-hidden=true href=#serverless-elasticsearch-the-architecture-transformation-from-stateful-to-stateless>#</a></h3><p><em>Iraklis Psaroudakis, Pooya Salehi, Jason Bryan, Francisco Fernández Castaño <em>et al.</em></em></p><p><strong>TL;DR</strong> — Describes Elastic&rsquo;s production migration of Elasticsearch to a serverless, stateless architecture, sharing engineering lessons on decoupling compute from state at cloud scale.</p><hr><h3 id=dfuse-strongly-consistent-write-back-kernel-caching-for-distributed-userspace-file-systems>DFUSE: Strongly Consistent Write-Back Kernel Caching for Distributed Userspace File Systems<a hidden class=anchor aria-hidden=true href=#dfuse-strongly-consistent-write-back-kernel-caching-for-distributed-userspace-file-systems>#</a></h3><p><em>Haoyu Li, Jingkai Fu, Qing Li 0002, Windsor Hsu <em>et al.</em></em></p><p><strong>TL;DR</strong> — Closes a long-standing gap in FUSE-based distributed file systems by enabling strongly consistent write-back caching in the kernel, significantly improving throughput without sacrificing correctness.</p><hr><h3 id=accelerating-distributed-filesystem-metadata-service-via-decoupling-directory-semantics-from-metadata-indexing>Accelerating Distributed Filesystem Metadata Service via Decoupling Directory Semantics from Metadata Indexing<a hidden class=anchor aria-hidden=true href=#accelerating-distributed-filesystem-metadata-service-via-decoupling-directory-semantics-from-metadata-indexing>#</a></h3><p><em>Wenhao Lv, Hao Guo, Qing Wang 0031, Youyou Lu <em>et al.</em></em></p><p><strong>TL;DR</strong> — Achieves scalable distributed filesystem metadata by separating directory namespace semantics from the underlying index structure, reducing contention and improving throughput for large-scale cloud storage.</p><hr><h3 id=valet-efficient-data-placement-on-modern-ssds>Valet: Efficient Data Placement on Modern SSDs<a hidden class=anchor aria-hidden=true href=#valet-efficient-data-placement-on-modern-ssds>#</a></h3><p><em>Devashish R. Purandare, Peter Alvaro, Avani Wildani, Darrell D. E. Long <em>et al.</em></em></p><p><strong>TL;DR</strong> — Exploits fine-grained internal SSD geometry to make smarter data placement decisions, yielding measurable I/O performance gains without changes to the host storage stack.</p><hr><h3 id=understanding-diffusion-model-serving-in-production-a-top-down-analysis-of-workload-scheduling-and-resource-efficiency>Understanding Diffusion Model Serving in Production: A Top-Down Analysis of Workload, Scheduling, and Resource Efficiency<a hidden class=anchor aria-hidden=true href=#understanding-diffusion-model-serving-in-production-a-top-down-analysis-of-workload-scheduling-and-resource-efficiency>#</a></h3><p><em>Yanying Lin, Shuaipeng Wu, Shutian Luo, Hong Xu 0001 <em>et al.</em></em></p><p><strong>TL;DR</strong> — Provides the first comprehensive production characterization of diffusion model inference workloads, revealing unique scheduling and resource efficiency challenges distinct from LLM serving.</p><hr><h3 id=modserve-modality--and-stage-aware-resource-disaggregation-for-scalable-multimodal-model-serving>ModServe: Modality- and Stage-Aware Resource Disaggregation for Scalable Multimodal Model Serving<a hidden class=anchor aria-hidden=true href=#modserve-modality--and-stage-aware-resource-disaggregation-for-scalable-multimodal-model-serving>#</a></h3><p><em>Haoran Qiu, Anish Biswas, Zihan Zhao, Jayashree Mohan <em>et al.</em></em></p><p><strong>TL;DR</strong> — Disaggregates compute resources per modality and pipeline stage for multimodal inference, with a Microsoft production deployment showing improved GPU utilization and latency over monolithic serving.</p><hr><h3 id=thorn-ml-transparent-hardware-offloaded-resilient-networks-for-rdma-based-distributed-ml-workloads>THORN-ML: Transparent Hardware Offloaded Resilient Networks for RDMA based Distributed ML Workloads<a hidden class=anchor aria-hidden=true href=#thorn-ml-transparent-hardware-offloaded-resilient-networks-for-rdma-based-distributed-ml-workloads>#</a></h3><p><em>Maziyar Nazari, Daniel Noland, Giulio Sidoretti, Erika Hunhoff <em>et al.</em></em></p><p><strong>TL;DR</strong> — Offloads RDMA fault detection and recovery to programmable network hardware, making distributed ML training resilient to network failures without modifying the training framework or incurring software overhead.</p></div><footer class=post-footer><ul class=post-tags></ul><nav class=paginav><a class=prev href=https://pub.sqrt.fr/vincent/publish-assistant/cloud-edge/digests/sec-2025/><span class=title>« Prev</span>
<span>SEC 2025 Digest</span>
</a><a class=next href=https://pub.sqrt.fr/vincent/publish-assistant/cloud-edge/digests/sosp-2025/><span class=title>Next »</span>
<span>SOSP 2025 Digest</span></a></nav></footer></article></main><footer class=footer><span>&copy; 2026 <a href=https://pub.sqrt.fr/vincent/publish-assistant/>Publish Assistant</a></span> ·
<span>Powered by
<a href="https://gohugo.io/?utm_source=papermod" rel=noopener target=_blank>Hugo</a> &
<a href=https://github.com/adityatelange/hugo-PaperMod/ rel=noopener target=_blank>PaperMod</a></span></footer><a href=#top id=top-link class="top-link hidden" aria-label="go to top" title="Go to Top (Alt + G)" accesskey=g><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevrons-up"><polyline points="17 11 12 6 7 11"/><polyline points="17 18 12 13 7 18"/></svg>
</a><script>let menu=document.getElementById("menu");if(menu){const e=localStorage.getItem("menu-scroll-position");e&&(menu.scrollLeft=parseInt(e,10)),menu.onscroll=function(){localStorage.setItem("menu-scroll-position",menu.scrollLeft)}}document.querySelectorAll('a[href^="#"]').forEach(e=>{e.addEventListener("click",function(e){e.preventDefault();var t=this.getAttribute("href").substr(1);window.matchMedia("(prefers-reduced-motion: reduce)").matches?document.querySelector(`[id='${decodeURIComponent(t)}']`).scrollIntoView():document.querySelector(`[id='${decodeURIComponent(t)}']`).scrollIntoView({behavior:"smooth"}),t==="top"?history.replaceState(null,null," "):history.pushState(null,null,`#${t}`)})})</script><script>var toplink=document.getElementById("top-link");window.onscroll=function(){const e=window.innerHeight;document.body.scrollTop>e||document.documentElement.scrollTop>e?toplink.classList.remove("hidden"):toplink.classList.add("hidden")}</script><script>document.getElementById("theme-toggle").addEventListener("click",()=>{const e=document.querySelector("html");e.dataset.theme==="dark"?(e.dataset.theme="light",localStorage.setItem("pref-theme","light")):(e.dataset.theme="dark",localStorage.setItem("pref-theme","dark"))})</script></body></html>