<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>High Performance Computing (HPC) | UCSC OSPO</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/tag/high-performance-computing-hpc/</link><atom:link href="https://deploy-preview-1007--ucsc-ospo.netlify.app/tag/high-performance-computing-hpc/index.xml" rel="self" type="application/rss+xml"/><description>High Performance Computing (HPC)</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><lastBuildDate>Sun, 09 Feb 2025 00:00:00 +0000</lastBuildDate><image><url>https://deploy-preview-1007--ucsc-ospo.netlify.app/media/logo_hub6795c39d7c5d58c9535d13299c9651f_74810_300x300_fit_lanczos_3.png</url><title>High Performance Computing (HPC)</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/tag/high-performance-computing-hpc/</link></image><item><title>GeFARe: Discovering Reproducible Failure Scenarios and Developing Failure-Aware Scheduling for Genomic Workflows</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/uga/gefare/</link><pubDate>Sun, 09 Feb 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/uga/gefare/</guid><description>&lt;ul>
&lt;li>&lt;strong>Topics&lt;/strong>: genomic processing (e.g., DNA and RNA alignment), workflow scheduling, resource/cluster management, container orchestration&lt;/li>
&lt;li>&lt;strong>Skills&lt;/strong>: Linux, cloud computing (e.g., OpenStack), cluster manager (e.g., Kubernetes), systems automation (e.g., Bash/Python/Puppet), genomic workflows and applications (e.g., BWA, FastQC, Picard, GATK, STAR)&lt;/li>
&lt;li>&lt;strong>Difficulty&lt;/strong>: Hard&lt;/li>
&lt;li>&lt;strong>Size&lt;/strong>: Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentor(s):&lt;/strong> &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/in-kee-kim/">In Kee Kim&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="project-idea-description">&lt;strong>Project Idea description&lt;/strong>&lt;/h3>
&lt;p>Large-scale genomic workflow executions require large-scale computing infrastructure, as well as high utilization of that infrastructure, to maximize throughput. Systems researchers have developed various techniques to achieve this goal, including scheduling, resource harvesting, tail mitigation, and failure recovery. However, many of these large-scale efforts have been carried out by separate groups/institutions that operate such large-scale infrastructure (e.g., major tech companies and national research labs). Reproducing and building upon these works at a similar scale in an academic environment is challenging – even labs with strong ties to these institutions often have to rely on trace-based research, which does not fully capture the complexities of real-world deployments.&lt;/p>
&lt;p>We observe two fundamental reasons for this difficulty: 1) a lack of computational infrastructure at a comparable scale and 2) a lack of representative workloads and software stacks. Although the academic community has sought to broaden access to large-scale infrastructure through testbeds like ChameleonCloud and CloudLab, the representative workloads and software stacks to reproduce aforementioned works remain limited.&lt;/p>
&lt;p>We aim to address this challenge by providing a robust, easy-to-use, and open-source environment for large-scale genomics workflow scheduling. Specifically, this environment will include:
a) a suite of tools to set up infrastructure on academic cloud testbeds,
b) a scheduling research platform for genomic workflows, and
c) software stacks to reproduce large-scale failure scenarios.&lt;/p>
&lt;p>We limit the scope of this project to only one or two major failure scenarios. For example, out-of-memory (OOM) failures occur when genomics applications run with insufficient available memory. However, we aim to make the software stack extendable for other scenarios whenever possible.&lt;/p>
&lt;p>Throughout this project, students will learn to use cloud testbeds (e.g., ChameleonCloud) for workflow scheduling research. They will gain hands-on experience in open-source cluster management and container orchestration tools (e.g., Kubernetes) and will also learn about various aspects of high-performance computing when genomic workflows.&lt;/p>
&lt;p>Finally, we will open-source all the code, software stacks, and datasets created during this project. Using these artifacts, we will also ensure the reproducibility of failure scenarios.&lt;/p>
&lt;h3 id="project-deliverable">&lt;strong>Project Deliverable&lt;/strong>&lt;/h3>
&lt;ul>
&lt;li>Acquire a basic understanding of genomic data processing (will mentor guidance)&lt;/li>
&lt;li>Build tools to set up a multi-node cluster on ChameleonCloud&lt;/li>
&lt;li>Create automation code/tools to set up genomics workflows’ input and containerized applications&lt;/li>
&lt;li>Discovering failure scenarios for genomics workflow execution (will mentor guidance)&lt;/li>
&lt;li>Develop a Kubernetes-based platform to implement scheduling policies (Students may use or build upon existing open-source works)&lt;/li>
&lt;li>Document the steps needed to reproduce the proposed failure scenarios&lt;/li>
&lt;/ul></description></item><item><title>Towards Scalable Performance Benchmarking of Genomics Workflows</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/uga/genomicswf/20240919-martinputra/</link><pubDate>Thu, 19 Sep 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/uga/genomicswf/20240919-martinputra/</guid><description>&lt;h2 id="project-background">Project Background&lt;/h2>
&lt;p>Optimizing genomics workflows execution on a large-scale &amp;amp; heterogeneous cluster requires in-depth understanding of resource requirement and utilization pattern of each application in the workflows. Such information can be obtained by using a benchmarking tool. However, performance data generated by such tool should represent the scale of its target system, lest the design decisions made from it is misguided. My project aims to build &lt;em>GenScale&lt;/em>, the first benchmarking tool which can rapidly generate genomics workload performance data at the scale representative of production systems.&lt;/p>
&lt;p>As Summer of Reproduciblity (SoR) 2024 comes to an end, I took the time to reflect on my time working on GenScale, the challenges I faced, and the future works &amp;amp; impacts I hope &lt;em>GenScale&lt;/em> create for our community.&lt;/p>
&lt;h2 id="milestones--challenges">Milestones &amp;amp; Challenges&lt;/h2>
&lt;p>The time I spent working on &lt;em>GenScale&lt;/em> during SoR can be classified into three phases:&lt;/p>
&lt;p>&lt;strong>1. Per-Application Container &amp;amp; Input Creation.&lt;/strong>&lt;/p>
&lt;p>Containerization is the current de-facto standard for genomics workflow execution, thus I designed &lt;em>GenScale&lt;/em> to execute applications as containers. This requires me to package each application included in the benchmark as a container. I use state-of-art DNA-Seq &amp;amp; RNA-Seq alignment workflows as references for the list of applications &amp;amp; workflow structure. The container images &amp;amp; source files I created are publicy available in GitHub &lt;a href="#deliverables">(Deliverables #1)&lt;/a>&lt;/p>
&lt;p>I also prepare sample inputs for each application to ease the burden of users who do not have sufficient familiarity with genomics applications. The effort is not trivial, because in a workflow, the inputs for a certain step depend on the outputs of previous step(s). Simply speaking, to prepare inputs for the last application in a workflow, we need to get the outputs of applications executed before it, which also requires the outputs of another set of applications, and so on until we arrive at the beginning of workflow. This translates into significant manual labor of carefully tracing &amp;amp; collecting intermediate files from each step of the reference workflows.&lt;/p>
&lt;p>All inputs are hosted in a public Google Drive and ChameleonCloud object store &lt;a href="#deliverables">(Deliverables #2)&lt;/a>. In total, I prepared containers and inputs for 7 popular genomics applications: BWA, FastQC, Fastq Cleaner, GATK, Picard, STAR, and Trimmomatic.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:center">
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/report/osre24/uga/genomicswf/20240919-martinputra/genscale-stack_hu2d5cfbf95523918b0bcbd89f95a37c1b_91166_5d15908a9f03f47b787a549dbd280a24.webp 400w,
/report/osre24/uga/genomicswf/20240919-martinputra/genscale-stack_hu2d5cfbf95523918b0bcbd89f95a37c1b_91166_b606b0529a38b68c5979566b35e267ed.webp 760w,
/report/osre24/uga/genomicswf/20240919-martinputra/genscale-stack_hu2d5cfbf95523918b0bcbd89f95a37c1b_91166_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/uga/genomicswf/20240919-martinputra/genscale-stack_hu2d5cfbf95523918b0bcbd89f95a37c1b_91166_5d15908a9f03f47b787a549dbd280a24.webp"
width="760"
height="353"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:center">&lt;strong>Figure 1.&lt;/strong> Production-grade softwares used in GenScale: Kubernetes for task orchestration, and Prometheus + Grafana for real-time resource monitoring.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>2. Components Development.&lt;/strong>&lt;/p>
&lt;p>In this phase, &lt;em>GenScale&lt;/em> main components were developed. &lt;em>GenScale&lt;/em> consists of three components: (a) Workflow Manager, (b) Task Orchestrator, and (c) Resource Monitor. The Workflow Manager is built from scratch to allow high degree of freedom when scheduling workflows. I use industry-grade solutions for the other components, namely Kubernetes for orchestrating tasks / containers, and Prometheus + Grafana for real-time resource monitoring. My deliverables include semi-automatic installation scripts &amp;amp; easy-to-follow instructions to set up all three components. &lt;a href="#deliverables">(Deliverables #3)&lt;/a>&lt;/p>
&lt;p>&lt;strong>3. Performance Data Generation.&lt;/strong>&lt;/p>
&lt;p>The last phase is to use &lt;em>GenScale&lt;/em> prototype to generate performance data of each application. I focused on collecting data for three types of resources: compute (CPU utilization), memory (resident set size), and I/O (read &amp;amp; write operations over time). &lt;em>GenScale&lt;/em> export these information into a single CSV file to facilitate easy analysis. My deliverables include performance data for DNA-Seq and RNA-Seq workflows. I also provide a sample Python Notebook which analyzes the CPU utilization pattern of each application in DNA-Seq workflow. &lt;a href="#deliverables">(Deliverables #4)&lt;/a>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:center">
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/report/osre24/uga/genomicswf/20240919-martinputra/dnaseq-cpu_util_hu80d53d27b8c7b822ba2a4a4a343ec503_499906_9d39d7375c21c3eae305d20af9a8b7ee.webp 400w,
/report/osre24/uga/genomicswf/20240919-martinputra/dnaseq-cpu_util_hu80d53d27b8c7b822ba2a4a4a343ec503_499906_b8d8ac52b9cb53496558934c8a2b441b.webp 760w,
/report/osre24/uga/genomicswf/20240919-martinputra/dnaseq-cpu_util_hu80d53d27b8c7b822ba2a4a4a343ec503_499906_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/uga/genomicswf/20240919-martinputra/dnaseq-cpu_util_hu80d53d27b8c7b822ba2a4a4a343ec503_499906_9d39d7375c21c3eae305d20af9a8b7ee.webp"
width="760"
height="614"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:center">&lt;strong>Figure 2.&lt;/strong> CPU utilization pattern of 9 applications in DNA-Seq Alignment workflow collected by &lt;em>GenScale&lt;/em>. &lt;strong>y-axis&lt;/strong>: &lt;em>(num. cores) x 100%&lt;/em>, &lt;strong>x-axis&lt;/strong>: time elapsed in seconds.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="deliverables">Deliverables&lt;/h2>
&lt;p>This project&amp;rsquo;s deliverables can be found in the following Github repo: &lt;a href="https://github.com/martinluttap/sor24-genscale/tree/main" target="_blank" rel="noopener">https://github.com/martinluttap/sor24-genscale/tree/main&lt;/a>. In summary, the deliverables include:&lt;/p>
&lt;ol>
&lt;li>Container Images&lt;/li>
&lt;li>Input Dataset&lt;/li>
&lt;li>Source Code&lt;/li>
&lt;li>Performance Data &amp;amp; Sample Analysis Notebook&lt;/li>
&lt;/ol>
&lt;h2 id="future-works-broader-impacts">Future Works, Broader Impacts&lt;/h2>
&lt;p>Understanding workload characteristics is a crucial step for designing efficient scheduling policy &amp;amp; resource management techniques. &lt;em>GenScale&lt;/em> and the performance data it can generate might be a starting point for such effort. Furthermore, I hope &lt;em>GenScale&lt;/em> will catalyze meaningful engagements between the computer systems community and bioinformatics community. I believe state-of-arts systems techniques can greatly aid the computing efforts among bioinformatics community. Similarly, domain-specific knowledge &amp;amp; problems within bioinformatics provide unique grounds for the systems community to further advance their field.&lt;/p></description></item><item><title>Halfway Through SoR24: Building a Scalable Performance Benchmarking Tool for Genomics Workflows</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/uga/genomicswf/20240721-martinputra/</link><pubDate>Sun, 21 Jul 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/uga/genomicswf/20240721-martinputra/</guid><description>&lt;h2 id="project-overview">Project Overview&lt;/h2>
&lt;p>Hi! I&amp;rsquo;m Martin Putra, and I&amp;rsquo;m working on the &amp;ldquo;Reproducible Performance Benchmarking for Genomics Workflows on HPC Cluster&amp;rdquo; project under the supervision of &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/in-kee-kim/">In Kee Kim&lt;/a>. We are building GenScale, a scalable benchmarking tool for genomics workfload which leverages industrial-grade cluster manager and monitoring systems. GenScale will allow us to generate performance data under a setup that is representative of large-scale production settings. Ultimately, we hope GenScale and the datasets it produces will catalyze engagement between the computer systems and bioinformatics community, thus accelerating the pace of discovery at both fields.&lt;/p>
&lt;h2 id="progress-and-challenges">Progress and Challenges&lt;/h2>
&lt;p>We have built a prototype using Kubernetes as cluster manager and Prometheus for monitoring systems. At its current state, the prototype can support an arbitrary number of compute nodes, owing to Kubernetes’ notable scaling capability. This provides a suitable environment for small- to mid-scale experiments. We leverage ChameleonCloud to provide the necessary computational and reproducibility infrastructure. The monitoring system supports cluster-level, node-level, and container-level metrics collection and failure detection. We integrated Grafana dashboards for visualizations.&lt;/p>
&lt;p>The prototype also supports the execution of user-defined workflows. During the design process, we considered integrating one of existing workflow execution systems, such as &lt;a href="https://github.com/common-workflow-language/cwltool" target="_blank" rel="noopener">cwltool&lt;/a>, &lt;a href="https://www.nextflow.io" target="_blank" rel="noopener">Nextflow&lt;/a>, or &lt;a href="https://github.com/broadinstitute/cromwell" target="_blank" rel="noopener">Cromwell&lt;/a>. Each system has its own pros and cons when placed within the context of how we envision GenScale. However, we ultimately decided to build our own workflow execution system in order to provide maximum flexibility for the capabilities we plan to add in the future. For example, we believe it will be interesting to study how hardware heterogeneity affects the performance of each application in the workflow (a well-known workflow scheduling problem). Studying the problem requires capability to schedule execution on specific machines. In addition, if we want to study contention, we may need to execute on machines which are currently running specific workflows, too. While there are ways to do them with existing workflow execution systems + Kubernetes stack, we believe it will be hugely simplified if we build our own workflow execution system.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:center">
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/report/osre24/uga/genomicswf/20240721-martinputra/dnaseq-exec_time_proportion_hu2a99ec14fc56f180a344028699f1df1c_255588_8dedba866f2dae2e3c155c6037bb3c4c.webp 400w,
/report/osre24/uga/genomicswf/20240721-martinputra/dnaseq-exec_time_proportion_hu2a99ec14fc56f180a344028699f1df1c_255588_0134d07c43c3857435ab5c59f410ed7f.webp 760w,
/report/osre24/uga/genomicswf/20240721-martinputra/dnaseq-exec_time_proportion_hu2a99ec14fc56f180a344028699f1df1c_255588_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/uga/genomicswf/20240721-martinputra/dnaseq-exec_time_proportion_hu2a99ec14fc56f180a344028699f1df1c_255588_8dedba866f2dae2e3c155c6037bb3c4c.webp"
width="760"
height="497"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:center">&lt;strong>Figure 1.&lt;/strong> Proportion of execution time for DNA Alignment applications, executed on Chameleon&amp;rsquo;s &lt;em>cascadelake_r&lt;/em> node with 1500MB paired-end input. &lt;strong>y-axis:&lt;/strong> proportion of application&amp;rsquo;s exec. time out of the whole workflow&amp;rsquo;s exec. time, &lt;strong>x-axis:&lt;/strong> top 10 applications accounting for 97% exec. time, sorted by proportion. Other applications are aggregated.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>We confirmed GenScale’s capability to produce useful data by executing a DNA alignment workflow and capturing its runtime resource usage. We use &lt;a href="https://github.com/NCI-GDC/gdc-dnaseq-cwl" target="_blank" rel="noopener">Genomics Data Commons’ (GDC) DNA alignment workflow&lt;/a> as reference, which has a total of 27 applications ranging from quality check, read trimming, actual alignment, indexing, and various metrics collection. We wrote our own simplified version of the workflow by first analyzing the execution time &amp;amp; resource usage of each application, then we chose 10 applications which represents 97% of the workflow execution time. We took into account that containerization is the de-facto standard for workflow execution among the bioinformatics community. Thus, we packaged each application as its own separate container, then hosted their Dockerfiles &amp;amp; containers in a private Github Container Registry (GHCR). We plan to make them public in the future. Our monitoring system is able to show resource usage in real time. We also built sidecar containers which use Unix’s pidstats to generate a CSV of cores, memory, and storage utilization throughout each workflow’s execution. This will allow easier analysis and data sharing for GenScale’s users.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:center">
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/report/osre24/uga/genomicswf/20240721-martinputra/bwa_picardwgs_picardvalidate-cpu_hu75193f344cb2afdf6e001b1bc5f51540_1054163_7dea08952ec6bc07cee0579c31500d17.webp 400w,
/report/osre24/uga/genomicswf/20240721-martinputra/bwa_picardwgs_picardvalidate-cpu_hu75193f344cb2afdf6e001b1bc5f51540_1054163_0a311fc327ad5f4a739e574c86795b70.webp 760w,
/report/osre24/uga/genomicswf/20240721-martinputra/bwa_picardwgs_picardvalidate-cpu_hu75193f344cb2afdf6e001b1bc5f51540_1054163_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/uga/genomicswf/20240721-martinputra/bwa_picardwgs_picardvalidate-cpu_hu75193f344cb2afdf6e001b1bc5f51540_1054163_7dea08952ec6bc07cee0579c31500d17.webp"
width="760"
height="209"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:center">&lt;strong>Figure 2.&lt;/strong> CPU utilization pattern of &lt;a href="https://github.com/lh3/bwa" target="_blank" rel="noopener">BWA&lt;/a>, &lt;a href="https://gatk.broadinstitute.org/hc/en-us/articles/360037269351-CollectWgsMetrics-Picard" target="_blank" rel="noopener">Picard&amp;rsquo;s CollectWGSMetrics&lt;/a>, and &lt;a href="https://gatk.broadinstitute.org/hc/en-us/articles/360036854731-ValidateSamFile-Picard" target="_blank" rel="noopener">Picard&amp;rsquo;s ValidateSamFile&lt;/a> collected by &lt;em>GenScale&lt;/em>. &lt;strong>y-axis&lt;/strong>: &lt;em>(num. cores) x 100%&lt;/em>, &lt;strong>x-axis&lt;/strong>: time elapsed in seconds.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>One technical challenge is in automating the creation of Kubernetes cluster and in keeping it alive. We believe GenScale’s users would be interested in the performance of workflows under dynamic cluster sizes, either due to intentional scaling or machine failures. While the current prototype supports creating a cluster with arbitrary nodes, there are still steps which require a reboot when adding nodes. This makes cluster creation and horizontal scaling not fully automated yet. Keeping a cluster alive is also expensive. Since we use ChameleonCloud as our testbed, we have a choice of either keeping the cluster alive at the cost of significant service units (SU) usage, or save SUs by terminating our leases at the cost of rebuilding the cluster from scratch later. We choose a middle ground by keeping only Kubernetes’ control plane alive. The approach works well so far.&lt;/p>
&lt;h2 id="next-steps">Next Steps&lt;/h2>
&lt;p>For the remaining weeks, we plan to work on the second workflow, namely &lt;a href="https://github.com/NCI-GDC/gdc-rnaseq-cwl" target="_blank" rel="noopener">RNA Alignment&lt;/a>. We would also like to add simple user interfaces if time permits. Finally, we plan to package GenScale’s source code, container images, and sample benchmark results for the open-source community. We look forward to the second half of Summer of Reproducibility!&lt;/p></description></item><item><title>Reproducible Performance Benchmarking for Genomics Workflows on HPC Cluster</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/uga/genomicswf/20240612-martinputra/</link><pubDate>Wed, 12 Jun 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/uga/genomicswf/20240612-martinputra/</guid><description>&lt;p>Hi! I&amp;rsquo;m Martin, and I will be working on &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/uga/genomicswf/">Reproducible Performance Benchmarking for Genomics Workflows on HPC Cluster&lt;/a> under the mentorship of &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/in-kee-kim/">In Kee Kim&lt;/a>. Our work is driven by the scale of computing systems that hosts data commons &amp;ndash; we believe that performance characterization of genomics workload should be done &lt;em>rapidly&lt;/em> and at the &lt;em>scale&lt;/em> similar to production settings. &lt;a href="https://drive.google.com/file/d/1LmOpCKv09ZGKlkG6VNleWBZ792nIuVOf/view?usp=sharing" target="_blank" rel="noopener">Feel free to check our proposal&lt;/a> for more details!&lt;/p>
&lt;p>We propose &lt;em>GenScale&lt;/em>, a genomics workload benchmarking tool which can achieve both the scale and speed necessary for characterizing performance under large-scale settings. &lt;em>GenScale&lt;/em> will be built on top of industrial-grade cluster manager (e.g. Kubernetes), metrics collection &amp;amp; monitoring systems (e.g. Prometheus), and will support comprehensive set of applications used in state-of-art genomics workflows. Initial version developed during this project will include DNA and RNA alignment workflows.&lt;/p>
&lt;p>Finally, we believe that open access and reproducible research will greatly accelerate the pace of scientific discovery. We aim to package our artefacts and generated datasets in ways that makes it easiest to replicate, analyze, and build upon. I personally look forward to learn from &amp;amp; contribute to the open source community!&lt;/p></description></item><item><title>Reproducible Performance Benchmarking for Genomics Workflows on HPC Cluster</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/uga/genomicswf/</link><pubDate>Fri, 02 Feb 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/uga/genomicswf/</guid><description>&lt;p>&lt;strong>Project Idea description&lt;/strong>&lt;/p>
&lt;p>We aim to characterize the performance of genomic workflows on HPC clusters by conducting two research activities using a broad set of state-of-the-art genomic applications and open-source datasets.&lt;/p>
&lt;p>&lt;strong>Performance Benchmarking and Characterizing Genomic Workflows:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Topics&lt;/strong>: High Performance Computing (HPC), Data Analysis, Scientific Workflows&lt;/li>
&lt;li>&lt;strong>Skills&lt;/strong>: Linux, Python, Bash Scripting, Data Science Toolkit, Kubernetes, Container Orchestration, Genomics Applications (e.g. BWA, FastQC, Picard, GATK, STAR)&lt;/li>
&lt;li>&lt;strong>Difficulty&lt;/strong>: Medium&lt;/li>
&lt;li>&lt;strong>Size&lt;/strong>: Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentor(s):&lt;/strong> &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/in-kee-kim/">In Kee Kim&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>In this activity, students will perform comprehensive performance measurements of genomic data processing on HPC clusters using state-of-the-art applications, workflows, and real-world datasets. They will collect and package datasets for I/O, memory, and compute utilization using industry-standard tools and best practices. Measurement will be done using Kubernetes container orchestration on a multi-node cluster to achieve scalability, with either custom-made metrics collection system or integration of existing industry standard tools. (e.g. Prometheus).&lt;/p>
&lt;p>&lt;strong>Quantifying Performance Interference and Assessing Their Impact on Workflow Execution Time:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Topics&lt;/strong>: Machine Learning, Data Analysis, and Scientific Workflows and Computations&lt;/li>
&lt;li>&lt;strong>Skills&lt;/strong>: Linux, Python, Bash Scripting, Data Science Toolkit, Kubernetes, Container Orchestration&lt;/li>
&lt;li>&lt;strong>Difficulty&lt;/strong>: Difficult&lt;/li>
&lt;li>&lt;strong>Size&lt;/strong>: Medium (175 hours)&lt;/li>
&lt;li>&lt;strong>Mentor(s):&lt;/strong> &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/in-kee-kim/">In Kee Kim&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>In this activity, students will measure the slowdown of various applications due to resource contention (e.g. CPU and I/O). Students will analyze whether an application is compute-bound, I/O bound, or both, then analyze the correlation between resource utilization and execution time. Following that, students will assess the impact of per-application slowdown to the slowdown of a whole workflow. To the best of our knowledge, this will be the first study which systematically quantifies per-application interference when running genomics workflow on an HPC cluster.&lt;/p>
&lt;p>For both subprojects, all experiments will also be conducted in a reproducible manner (e.g., as a Trovi package or Chameleon VM images), and all code will be open-sourced (e.g., shared on a public Github repo).&lt;/p>
&lt;p>&lt;strong>Project Deliverable&lt;/strong>:&lt;/p>
&lt;p>A Github repository and/or Chameleon VM image containing source code for application executions &amp;amp; metrics collection.
Jupyter notebooks and/or Trovi artifacts containing analysis and mathematical models for application resource utilization &amp;amp; the effects of data quality.&lt;/p></description></item></channel></rss>