{"id":5917,"date":"2019-06-10T11:59:40","date_gmt":"2019-06-10T15:59:40","guid":{"rendered":"https:\/\/blogs.swarthmore.edu\/its\/?p=5917"},"modified":"2019-06-10T11:38:00","modified_gmt":"2019-06-10T15:38:00","slug":"accelerate-your-research-using-software-containers","status":"publish","type":"post","link":"https:\/\/blogs.swarthmore.edu\/its\/2019\/06\/10\/accelerate-your-research-using-software-containers\/","title":{"rendered":"Accelerate your Research Using Software Containers"},"content":{"rendered":"<p>As more and more Swarthmore researchers create sophisticated computer programs for simulation and analysis, it can become harder to manage the code.\u00a0 \u00a0 Getting a new computer configured with the proper environment can be difficult and the challenges are multiplied when trying to running the same code on several student and lab computers, a local server, or even a supercomputer.\u00a0\u00a0Operating systems and programming languages and libraries change over time, so code that worked last year may not work this year.\u00a0 This year, Swarthmore ITS has been working to figure out how to:<\/p>\n<ul>\n<li>Easily get students up to speed with working on existing code<\/li>\n<li>Run the same code on a laptop, department workstation, or supercomputer<\/li>\n<li>Run the same code for years into the future<\/li>\n<\/ul>\n<h1>Containers<\/h1>\n<p>A software <em>container<\/em>\u00a0is a way to run an application and its dependencies in many different computing environments.\u00a0 It is possible to configure a container with your code and run it on your laptop and then send the container to a colleague or even a supercomputer and execute the same code.\u00a0 Because the container also contains the software dependencies, it can continue to be run using the same version of the programming language, libraries, and operating system for years into the future.\u00a0 Your collaborators and student researchers can easily get started working on code without worrying about configuring their individual systems with specific dependencies.<\/p>\n<p>The two main types of containers of interest to most researchers are Docker and Singularity.\u00a0 <a href=\"https:\/\/www.docker.com\/resources\/what-container\">Docker<\/a> is the most popular containerization system and is used widely in the software industry.\u00a0 It is easy to download and install on most operating systems.\u00a0 <a href=\"https:\/\/www.sylabs.io\/docs\/\">Singularity<\/a> is a similar system aimed at high performance computing.\u00a0 It is possible to automatically translate a Docker container to a Singularity container.<\/p>\n<h1>Learning more<\/h1>\n<p>For more information, check out Docker&#8217;s <a href=\"https:\/\/www.docker.com\/resources\/what-container\">&#8220;What is a Container&#8221;<\/a> page.<\/p>\n<p>A recent <a href=\"https:\/\/www.xsede.org\/about\/what-we-do\">XSEDE<\/a> presentation called &#8220;How to Install Literally Anything: A Practical Guide to Singularity&#8221; by\u00a0Brian DuSell is a good introduction to getting started with Singularity:\u00a0<a href=\"https:\/\/drive.google.com\/file\/d\/1yvYBo9O4gGR8mgk6ikBZj1c47ElQX-ch\/view?usp=sharing\">Slides<\/a> and\u00a0<a href=\"https:\/\/youtu.be\/D5pe4ewtDe8\">Recording<\/a><\/p>\n<p><a href=\"https:\/\/www.sylabs.io\/docs\/\">Singularity Documentation<\/a><\/p>\n<h1>Let us know how we can help<\/h1>\n<p>ITS has been using containers to assist with our own development efforts.\u00a0 If you&#8217;d like to learn more about how containers might help your research, please get in touch with Andrew Ruether (aruethe2, x8254).<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As more and more Swarthmore researchers create sophisticated computer programs for simulation and analysis, it can become harder to manage the code.\u00a0 \u00a0 Getting a new computer configured with the proper environment can be difficult and the challenges are multiplied &hellip; <a href=\"https:\/\/blogs.swarthmore.edu\/its\/2019\/06\/10\/accelerate-your-research-using-software-containers\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Accelerate your Research Using Software Containers<\/span><\/a><\/p>\n","protected":false},"author":51,"featured_media":5921,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[2,303,97],"tags":[324,322,90,128,201,323,142,276,275],"class_list":{"0":"post-5917","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-academic-technology","8":"category-development","9":"category-software","10":"tag-container","11":"tag-docker","12":"tag-featured","13":"tag-high-performance-computing","14":"tag-research","15":"tag-singularity","16":"tag-software","17":"tag-supercomputing","18":"tag-xsede","20":"fallback-thumbnail"},"jetpack_featured_media_url":"https:\/\/blogs.swarthmore.edu\/its\/wp-content\/uploads\/2019\/06\/docker_logo.png","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/ph2nPL-1xr","_links":{"self":[{"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/posts\/5917","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/users\/51"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/comments?post=5917"}],"version-history":[{"count":4,"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/posts\/5917\/revisions"}],"predecessor-version":[{"id":5923,"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/posts\/5917\/revisions\/5923"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/media\/5921"}],"wp:attachment":[{"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/media?parent=5917"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/categories?post=5917"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/tags?post=5917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}