/
index.html
30 lines (27 loc) · 17.4 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!doctype html>
<html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-updates">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.2.0">
<title data-rh="true">Performance & tracing update | Cardano Development Updates</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://input-output-hk.github.io/cardano-updates/2023-03-22-performance-and-tracing"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="Performance & tracing update | Cardano Development Updates"><meta data-rh="true" name="description" content="* Benchmarking: We performed benchmarks for the new tracing system, and started benchmarking for varying GHC RTS configurations."><meta data-rh="true" property="og:description" content="* Benchmarking: We performed benchmarks for the new tracing system, and started benchmarking for varying GHC RTS configurations."><meta data-rh="true" property="og:type" content="article"><meta data-rh="true" property="article:published_time" content="2023-03-22T00:00:00.000Z"><meta data-rh="true" property="article:author" content="https://github.com/mgmeier"><meta data-rh="true" property="article:tag" content="performance-tracing"><link data-rh="true" rel="icon" href="/cardano-updates/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://input-output-hk.github.io/cardano-updates/2023-03-22-performance-and-tracing"><link data-rh="true" rel="alternate" href="https://input-output-hk.github.io/cardano-updates/2023-03-22-performance-and-tracing" hreflang="en"><link data-rh="true" rel="alternate" href="https://input-output-hk.github.io/cardano-updates/2023-03-22-performance-and-tracing" hreflang="x-default"><link rel="alternate" type="application/rss+xml" href="/cardano-updates/rss.xml" title="Cardano Updates Feed RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/cardano-updates/atom.xml" title="Cardano Updates Feed Atom Feed">
<link rel="alternate" type="application/json" href="/cardano-updates/feed.json" title="Cardano Updates Feed JSON Feed">
<link rel="alternate" type="application/rss+xml" href="/cardano-updates/quarterly/rss.xml" title="Cardano Development Updates RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/cardano-updates/quarterly/atom.xml" title="Cardano Development Updates Atom Feed">
<script src="https://plausible.io/js/script.js" defer="defer" data-domain="input-output-hk.github.io/cardano-updates"></script><link rel="stylesheet" href="/cardano-updates/assets/css/styles.1b2b551c.css">
<link rel="preload" href="/cardano-updates/assets/js/runtime~main.1282f806.js" as="script">
<link rel="preload" href="/cardano-updates/assets/js/main.870ab849.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/cardano-updates/"><div class="navbar__logo"><img src="/cardano-updates/img/logo.svg" alt="Cardano Logo" class="themedImage_ToTc themedImage--light_HNdA"><img src="/cardano-updates/img/logo.svg" alt="Cardano Logo" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">Cardano Updates</b></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/cardano-updates/">Home</a><a class="navbar__item navbar__link" href="/cardano-updates/quarterly">Quarterly</a><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a class="navbar__link" aria-haspopup="true" aria-expanded="false" role="button" href="/cardano-updates/tags">Topics</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/cardano-updates/tags">All Topics</a></li><li><a class="dropdown__link" href="/cardano-updates/tags/network">Network</a></li><li><a class="dropdown__link" href="/cardano-updates/tags/consensus">Consensus</a></li><li><a class="dropdown__link" href="/cardano-updates/tags/ledger">Ledger</a></li><li><a class="dropdown__link" href="/cardano-updates/tags/hydra">Hydra</a></li><li><a class="dropdown__link" href="/cardano-updates/tags/db-sync">DB Sync</a></li><li><a class="dropdown__link" href="/cardano-updates/tags/cli-api">Node CLI & API</a></li><li><a class="dropdown__link" href="/cardano-updates/quarterly/tags/cli-api-quarterly">Node CLI & API Quarterly</a></li><li><a class="dropdown__link" href="/cardano-updates/tags/crypto">Crypto</a></li></ul></div><a class="navbar__item navbar__link" href="/cardano-updates/archive">Archive</a><a href="https://github.com/input-output-hk/cardano-updates" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-github-link" aria-label="GitHub repository"></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent Posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-24-hydra">Hydra Team Update</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-23-db-sync">DB-sync Team Update</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-23-mithril">Mithril Team Update</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-22-consensus">Consensus Team Update</a></li><li class="sidebarItem__DBe"><a aria-current="page" class="sidebarItemLink_mo7H sidebarItemLinkActive_I1ZP" href="/cardano-updates/2023-03-22-performance-and-tracing">Performance & tracing update</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-21-network">Network Team Update</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-17-hydra">Hydra Team Update</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-17-ledger">Ledger Team Update</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-16-goedel">Goedel Team Update</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/cardano-updates/2023-03-10-hydra">Hydra Team Update</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="http://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="http://schema.org/BlogPosting"><header><h1 class="title_f1Hy" itemprop="headline">Performance & tracing update</h1><div class="container_mt6G margin-vert--md"><time datetime="2023-03-22T00:00:00.000Z" itemprop="datePublished">March 22, 2023</time> · <!-- -->3 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/mgmeier" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://github.com/mgmeier.png" alt="Michael Karg"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/mgmeier" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">Michael Karg</span></a></div><small class="avatar__subtitle" itemprop="description">Performance and Tracing Engineer</small></div></div></div></div></header><div id="post-content" class="markdown" itemprop="articleBody"><ul><li>Benchmarking: We performed benchmarks for the new tracing system, and started benchmarking for varying GHC RTS configurations.</li><li>New tracing: Backwards compatibility with legacy tracer nomenclature has been merged; we're currently improving documentation and creating setup guidelines for end users.</li><li>Analysis pipeline: Our refined metrics PR has been merged. We're working on including variance analysis to our reporting machinery.</li><li>Infrastructure: Support for Conway genesis in our workbench has been merged. At the moment, we're laying the groundwork for enabling GHC 9.2 in our benchmarks.</li><li>Open Sourcing: The API demo has reached prototype phase; work on documenting the API and providing exemplifying use cases is ongoing.</li><li>Nomad backend: The nomad-exec based task driver has been merged. The backend has been equipped with the capability for genesis distribution via S3 bucket.</li></ul><h1>Performance</h1><h3 class="anchor anchorWithStickyNavbar_LWe7" id="new-tracing">New tracing<a class="hash-link" href="#new-tracing" title="Direct link to heading"></a></h3><p>The new tracing system has undergone various benchmarking runs with variance analysis, and comparison to a baseline using legacy tracing. We could observe
a slight shift in the resource usage profile from memory to CPU, but no regressions in block propagation metrics. Variance was observed to be notably smaller, which gives the new system a much better predictability. From this angle, we consider the new system fit for production use.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="ghc-rts-parametrization">GHC RTS parametrization<a class="hash-link" href="#ghc-rts-parametrization" title="Direct link to heading"></a></h3><p>We're currently prerforming various runs on the cluster to explore the space of different GHC RTS settings for running nodes. The main focus lies
on different configurations for the garbage collector, as well as increasing the number of CPU cores the node may use.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="open-sourcing">Open Sourcing<a class="hash-link" href="#open-sourcing" title="Direct link to heading"></a></h3><p>Our API demo has reached prototype stage, and operates on live data from the production database. Making use of the experience gained, we're refining version 1 of the API to provide optimized usability, and creating documentation that both is descriptive of the API endpoints, and focuses on practical, exemplary use cases.</p><h1>Tracing</h1><p>For the new tracing system we're currently undertaking an effort to multi-layered documentation: a condensed version, as well
as a setup guide with pragmatical focus, will be provided alongside the in-depth documentation. This effort should cater to different audiences, and provide distinct entry points
for users of the new system, depending on their wants and needs. </p><h1>Infrastructure & Analysis</h1><h3 class="anchor anchorWithStickyNavbar_LWe7" id="general">General<a class="hash-link" href="#general" title="Direct link to heading"></a></h3><p>Having included Conway genesis in the workbench, as a next step in future-proofing out benchmarking infrastructure, we're laying the foundation for a switch in compiler version to GHC 9.2. Additionally, we considered variance analysis of our runs to merit inclusion into our reporting pipeling - which will
increase confidence in specific metrics.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="nomad-backend">Nomad backend<a class="hash-link" href="#nomad-backend" title="Direct link to heading"></a></h3><p>We have implemented an appropriate mechanism for genesis distribution: Only after a benchmarking cluster has been deployed successfully, genesis
is patched and uploaded to an AWS S3 bucket for the nodes to retrieve - as a final step before initiating the actual run. We're confident that this deferred approach will provide clearer evidence for genesis patches, as well as minimize startup time for all runs by factoring in deployment re-tries.</p></div><footer class="row docusaurus-mt-lg blogPostFooterDetailsFull_mRVl"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/cardano-updates/tags/performance-tracing">performance-tracing</a></li></ul></div><div class="col margin-top--sm"><a href="https://github.com/input-output-hk/cardano-updates/tree/main/blog/2023-03-22-performance-and-tracing.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Blog post page navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/cardano-updates/2023-03-22-consensus"><div class="pagination-nav__sublabel">Newer Post</div><div class="pagination-nav__label">Consensus Team Update</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/cardano-updates/2023-03-21-network"><div class="pagination-nav__sublabel">Older Post</div><div class="pagination-nav__label">Network Team Update</div></a></nav></main><div class="col col--2"><div class="tableOfContents_bqdL thin-scrollbar"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#new-tracing" class="table-of-contents__link toc-highlight">New tracing</a></li><li><a href="#ghc-rts-parametrization" class="table-of-contents__link toc-highlight">GHC RTS parametrization</a></li><li><a href="#open-sourcing" class="table-of-contents__link toc-highlight">Open Sourcing</a></li><li><a href="#general" class="table-of-contents__link toc-highlight">General</a></li><li><a href="#nomad-backend" class="table-of-contents__link toc-highlight">Nomad backend</a></li></ul></div></div></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Blog</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/cardano-updates/">Home</a></li><li class="footer__item"><a class="footer__link-item" href="/cardano-updates/archive">Archive</a></li><li class="footer__item"><a class="footer__link-item" href="/cardano-updates/tags">Tags</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2023 Input Output Global, Inc. Built with Docusaurus.</div></div></div></footer></div>
<script src="/cardano-updates/assets/js/runtime~main.1282f806.js"></script>
<script src="/cardano-updates/assets/js/main.870ab849.js"></script>
</body>
</html>