{"id":240,"date":"2023-02-14T08:00:57","date_gmt":"2023-02-14T08:00:57","guid":{"rendered":"https:\/\/christian-engelmann.de\/?page_id=240"},"modified":"2023-02-16T23:38:40","modified_gmt":"2023-02-16T23:38:40","slug":"2013-16-hobbes-os-and-runtime-support-for-application-composition","status":"publish","type":"page","link":"https:\/\/www.christian-engelmann.info\/?page_id=240","title":{"rendered":"2013-16: Hobbes: OS and Runtime Support for Application Composition"},"content":{"rendered":"<p>This project delivers an operating system and runtime (OS\/R) environment for extreme-scale scientific computing. With application composition as the fundamental driving force, we develop the necessary OS\/R interfaces and low-level system services required to support the isolation and sharing needed to design and implement applications, as well as, performance and correctness tools. Our approach also supports complex simulation and analysis workflows. A workflow&#8217;s components will likely consist of a wide range of parallel codes with different OS\/R requirements, e.g., a relatively complicated multi-physics workflow that incorporates data from three different types of legacy codes that use Message Passing Interface (MPI) only, Partitioned Global Address Space (PGAS) languages, and MPI with threading, and requires components for analytics, visualization, uncertainty quantification, memory profiling, and performance analysis.<\/p>\n<p>Instead of a single unified OS\/R to support every conceivable requirement, we offer a lightweight OS\/R system with the flexibility to custom build runtimes for any particular purpose. Each component executes in its own enclave with a specialized runtime and isolation properties. A global runtime system provides the software required to compose applications out of a collection of enclaves, join them through secure and low-latency communication, and schedule them to avoid contention and maximize resource utilization. The benefits gained from lightweight and customizable runtimes include predictable and consistent memory and network patterns, manageable resilience properties, and measurable power and energy characteristics. These benefits simplify algorithm design and development issues at a large scale.<\/p>\n<p>Project deliverables are: (1) a OS\/R stack based on the Kitten OS and Palacios virtual machine monitor and (2) high-value, high risk research that leverages the architecture of the base OS\/R to explore issues of specific interest to exascale, e.g., virtualization, analytics, networking, energy\/power, scheduling\/parallelism, architecture, resilience, programming models, and tools.<\/p>\n<h4>Funding Sources<\/h4>\n<ul>\n<li>\n<a href=\"http:\/\/science.energy.gov\/ascr\" target=\"science.energy.gov_ascr\" rel=\"noopener\">Office of Advanced Scientific Computing Research<\/a>, Office of Science, U.S. Department of Energy\n  <\/li>\n<\/ul>\n<h4>Participating Institutions<\/h4>\n<ul>\n<li><a href=\"http:\/\/www.sandia.gov\" target=\"www.sandia.gov\" rel=\"noopener\">Sandia National Laboratories<\/a><\/li>\n<li><a href=\"http:\/\/www.gatech.edu\" target=\"www.gatech.edu\" rel=\"noopener\">Georgia Institute of Technology<\/a><\/li>\n<li><a href=\"http:\/\/www.indiana.edu\" target=\"www.indiana.edu\" rel=\"noopener\">Indiana University<\/a><\/li>\n<li><a href=\"http:\/\/www.lanl.gov\" target=\"www.lanl.gov\" rel=\"noopener\">Los Alamos National Laboratory<\/a><\/li>\n<li><a href=\"http:\/\/www.lbnl.gov\" target=\"www.lbnl.gov\" rel=\"noopener\">Lawrence Berkeley National Laboratory<\/a><\/li>\n<li><a href=\"http:\/\/www.ncsu.edu\" target=\"www.ncsu.edu\" rel=\"noopener\">North Carolina State University<\/a><\/li>\n<li><a href=\"http:\/\/www.northwestern.edu\" target=\"www.northwestern.edu\" rel=\"noopener\">Northwestern University<\/a><\/li>\n<li><a href=\"http:\/\/www.ornl.gov\" target=\"www.ornl.gov\" rel=\"noopener\">Oak Ridge National Laboratory<\/a><\/li>\n<li><a href=\"http:\/\/www.pitt.edu\" target=\"www.pitt.edu\" rel=\"noopener\">University of Pittsburgh<\/a><\/li>\n<li><a href=\"http:\/\/www.arizona.edu\" target=\"www.arizona.edu\" rel=\"noopener\">University of Arizona<\/a><\/li>\n<li><a href=\"http:\/\/www.berkeley.edu\" target=\"www.berkeley.edu\" rel=\"noopener\">University of California Berkeley<\/a><\/li>\n<li><a href=\"http:\/\/www.unm.edu\" target=\"www.unm.edu\" rel=\"noopener\">University of New Mexico<\/a><\/li>\n<li><a href=\"http:\/\/www.utep.edu\" target=\"www.utep.edu\" rel=\"noopener\">University of Texas at El Paso<\/a><\/li>\n<li><a href=\"http:\/\/www.utk.edu\" target=\"www.utk.edu\" rel=\"noopener\">University of Tennessee, Knoxville<\/a><\/li>\n<\/ul>\n<h4>Peer-reviewed Journal Publications<\/h4>\n<ol>\n<li>Amogh Katti, Giuseppe Di Fatta, Thomas Naughton, and Christian Engelmann. <b>Epidemic Failure Detection and Consensus for Extreme Parallelism<\/b>. <i><a href=\"http:\/\/hpc.sagepub.com\" target=\"hpc.sagepub.com\" rel=\"noopener\">International Journal of High Performance Computing Applications (IJHPCA)<\/a><\/i>, volume 32, number 5, pages 729-743, September 1, 2018. <a href=\"http:\/\/www.sagepub.com\" target=\"www.sagepub.com\" rel=\"noopener\">SAGE Publications<\/a>. ISSN 1094-3420. DOI <a href=\"http:\/\/dx.doi.org\/10.1177\/1094342017690910\" target=\"publication\" rel=\"noopener\">10.1177\/1094342017690910<\/a>. <a href=\"javascript:showAbstract('Future extreme-scale high-performance computing systems will be required to work under frequent component failures. The MPI Forum&amp;#39;s User Level Failure Mitigation proposal has introduced an operation, MPI Comm shrink, to synchronize the alive processes on the list of failed processes, so that applications can continue to execute even in the presence of failures by adopting algorithm-based fault tolerance techniques. This MPI Comm shrink operation requires a failure detection and consensus algorithm. This paper presents three novel failure detection and consensus algorithms using Gossiping. The proposed algorithms were implemented and tested using the Extreme-scale Simulator. The results show that in all algorithms the number of Gossip cycles to achieve global consensus scales logarithmically with system size. The second algorithm also shows better scalability in terms of memory and network bandwidth usage and a perfect synchronization in achieving global consensus. The third approach is a three-phase distributed failure detection and consensus algorithm and provides consistency guarantees even in very large and extreme-scale systems while at the same time being memory and bandwidth efficient.');\"><img decoding=\"async\" src=\"images\/txt.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Abstract\"><\/a> <a href=\"publications\/katti18epidemic.pdf\" target=\"publication\" rel=\"noopener\"><img decoding=\"async\" src=\"images\/pdf.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Publication\"><\/a> <a href=\"?page_id=55#katti18epidemic\"><img decoding=\"async\" src=\"images\/bib.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"BibTeX Citation\"><\/a><\/li>\n<\/ol>\n<h4>Peer-reviewed Conference Publications<\/h4>\n<ol>\n<li>David Fiala, Frank Mueller, Kurt Ferreira, and Christian Engelmann. <b>Mini-Ckpts: Surviving OS Failures in Persistent Memory<\/b>. In <i>Proceedings of the <a href=\"http:\/\/ics16.bilkent.edu.tr\" target=\"ics16.bilkent.edu.tr\" rel=\"noopener\">30th ACM International Conference on Supercomputing  (ICS) 2016<\/a><\/i>, pages 7:1-7:14, Istanbul, Turkey, June 1-3, 2016. <a href=\"http:\/\/www.acm.org\" target=\"www.acm.org\" rel=\"noopener\">ACM Press, New York, NY, USA<\/a>. ISBN 978-1-4503-4361-9. DOI <a href=\"http:\/\/dx.doi.org\/10.1145\/2925426.2926295\" target=\"publication\" rel=\"noopener\">10.1145\/2925426.2926295<\/a>. Acceptance rate 24.2% (43\/178). <a href=\"javascript:showAbstract('Concern is growing in the high-performance computing (HPC) community on the reliability of future extreme-scale systems. Current efforts have focused on application fault-tolerance rather than the operating system (OS), despite the fact that recent studies have suggested that failures in OS memory are more likely. The OS is critical to a system&amp;#39;s correct and efficient operation of the node and processes it governs -- and in HPC also for any other nodes a parallelized application runs on and communicates with: Any single node failure generally forces all processes of this application to terminate due to tight communication in HPC. Therefore, the OS itself must be capable of tolerating failures. In this work, we introduce mini-ckpts, a framework which enables application survival despite the occurrence of a fatal OS failure or crash. Mini-ckpts achieves this tolerance by ensuring that the critical data describing a process is preserved in persistent memory prior to the failure. Following the failure, the OS is rejuvenated via a warm reboot and the application continues execution effectively making the failure and restart transparent. The mini-ckpts rejuvenation and recovery process is measured to take between three to six seconds and has a failure-free overhead of between 3-5% for a number of key HPC workloads. In contrast to current fault-tolerance methods, this work ensures that the operating and runtime system can continue in the presence of faults. This is a much finer-grained and dynamic method of fault-tolerance than the current, coarse-grained, application-centric methods. Handling faults at this level has the potential to greatly reduce overheads and enables mitigation of additional fault scenarios.');\"><img decoding=\"async\" src=\"images\/txt.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Abstract\"><\/a> <a href=\"publications\/fiala16mini-ckpts.pdf\" target=\"publication\" rel=\"noopener\"><img decoding=\"async\" src=\"images\/pdf.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Publication\"><\/a> <a href=\"publications\/fiala16mini-ckpts.ppt.pdf\" target=\"publication\" rel=\"noopener\"><img decoding=\"async\" src=\"images\/ppt.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Presentation\"><\/a> <a href=\"?page_id=55#fiala16mini-ckpts\"><img decoding=\"async\" src=\"images\/bib.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"BibTeX Citation\"><\/a><\/li>\n<li>Amogh Katti, Giuseppe Di Fatta, Thomas Naughton, and Christian Engelmann. <b>Scalable and Fault Tolerant Failure Detection and Consensus<\/b>. In <i>Proceedings of the <a href=\"http:\/\/eurompi2015.bordeaux.inria.fr\" target=\"eurompi2015.bordeaux.inria.fr\" rel=\"noopener\">22nd European MPI Users` Group Meeting (EuroMPI) 2015<\/a><\/i>, pages 13:1-13:9, Bordeaux, France, September 21-24, 2015. <a href=\"http:\/\/www.acm.org\" target=\"www.acm.org\" rel=\"noopener\">ACM Press, New York, NY, USA<\/a>. ISBN 978-1-4503-3795-3. DOI <a href=\"http:\/\/dx.doi.org\/10.1145\/2802658.2802660\" target=\"publication\" rel=\"noopener\">10.1145\/2802658.2802660<\/a>. Acceptance rate 48.3% (14\/29). <a href=\"javascript:showAbstract('Future extreme-scale high-performance computing systems will be required to work under frequent component failures. The MPI Forum&amp;#39;s User Level Failure Mitigation proposal has introduced an operation (MPI_Comm_shrink) to synchronize the alive processes on the list of failed processes, so that applications can continue to execute even in the presence of failures by adopting algorithm-based fault tolerance techniques. The MPI_Comm_shrink operation requires a fault tolerant failure detection and consensus algorithm. This paper presents and compares two novel failure detection and consensus algorithms to support this operation. The proposed algorithms are based on Gossip protocols and are inherently fault-tolerant and scalable. The proposed algorithms were implemented and tested using the Extreme-scale Simulator. The results show that in both algorithms the number of Gossip cycles to achieve global consensus scales logarithmically with system size. The second algorithm also shows better scalability in terms of memory usage and network bandwidth costs and a perfect synchronization in achieving global consensus.');\"><img decoding=\"async\" src=\"images\/txt.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Abstract\"><\/a> <a href=\"publications\/katti15scalable.pdf\" target=\"publication\" rel=\"noopener\"><img decoding=\"async\" src=\"images\/pdf.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Publication\"><\/a> <a href=\"publications\/katti15scalable.ppt.pdf\" target=\"publication\" rel=\"noopener\"><img decoding=\"async\" src=\"images\/ppt.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Presentation\"><\/a> <a href=\"?page_id=55#katti15scalable\"><img decoding=\"async\" src=\"images\/bib.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"BibTeX Citation\"><\/a><\/li>\n<\/ol>\n<h4>Peer-reviewed Workshop Publications<\/h4>\n<ol>\n<li>Thomas Naughton, Christian Engelmann, Geoffroy Vall&eacute;e, Ferrol Aderholdt, and Stephen L. Scott. <b>A Cooperative Approach to Virtual Machine Based Fault Injection<\/b>. In <i>Lecture Notes in Computer Science: Proceedings of the <a href=\"http:\/\/europar2016.inria.fr\" target=\"europar2016.inria.fr\" rel=\"noopener\">22nd European Conference on Parallel and Distributed Computing (Euro-Par) 2016 Workshops<\/a>: <a href=\"http:\/\/www.csm.ornl.gov\/srt\/conferences\/Resilience\/2016\" target=\"www.csm.ornl.gov\/srt\/conferences\/Resilience\/2016\" rel=\"noopener\">9th Workshop on Resiliency in High Performance Computing (Resilience) in Clusters, Clouds, and Grids<\/a><\/i>, pages 671-682, Grenoble, France, August 23, 2016. <a href=\"http:\/\/www.springer.com\" target=\"www.springer.com\" rel=\"noopener\">Springer Verlag, Berlin, Germany<\/a>. ISBN 978-3-319-58943-5. ISSN 0302-9743. DOI <a href=\"http:\/\/dx.doi.org\/10.1007\/978-3-319-58943-5_54\" target=\"publication\" rel=\"noopener\">10.1007\/978-3-319-58943-5_54<\/a>. Acceptance rate 55.6% (5\/9). <a href=\"javascript:showAbstract('Resilience investigations often employ fault injection (FI) tools to study the effects of simulated errors on a target system. It is important to keep the target system under test (SUT) isolated from the controlling environment in order to maintain control of the experiment. Virtual machines (VMs) have been used to aid these investigations due to the strong isolation properties of system-level virtualization. A key challenge in fault injection tools is to gain proper insight and context about the SUT. In VM-based FI tools, this challenge of target con- text is increased due to the separation between host and guest (VM). We discuss an approach to VM-based FI that leverages virtual machine introspection (VMI) methods to gain insight into the target&amp;#39;s context running within the VM. The key to this environment is the ability to provide basic information to the FI system that can be used to create a map of the target environment. We describe a proof- of-concept implementation and a demonstration of its use to introduce simulated soft errors into an iterative solver benchmark running in user-space of a guest VM.');\"><img decoding=\"async\" src=\"images\/txt.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Abstract\"><\/a> <a href=\"publications\/naughton16cooperative.pdf\" target=\"publication\" rel=\"noopener\"><img decoding=\"async\" src=\"images\/pdf.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Publication\"><\/a> <a href=\"publications\/naughton16cooperative.ppt.pdf\" target=\"publication\" rel=\"noopener\"><img decoding=\"async\" src=\"images\/ppt.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Presentation\"><\/a> <a href=\"?page_id=55#naughton16cooperative\"><img decoding=\"async\" src=\"images\/bib.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"BibTeX Citation\"><\/a><\/li>\n<li>Zachary Parchman, Geoffroy R. Vall&eacute;e, Thomas Naughton, Christian Engelmann, and David E. Bernholdt. <b>Adding Fault Tolerance to NPB Benchmarks Using ULFM<\/b>. In <i>Proceedings of the <a href=\"http:\/\/www.hpdc.org\/2016\" target=\"www.hpdc.org\/2016\" rel=\"noopener\">25th ACM International Symposium on High-Performance Parallel and Distributed Computing (HPDC) 2016<\/a>: <a href=\"http:\/\/sites.google.com\/site\/ftxsworkshop\/home\/ftxs-2016\" target=\"sites.google.com\/site\/ftxsworkshop\/home\/ftxs-2016\" rel=\"noopener\">6th Workshop on Fault Tolerance for HPC at eXtreme Scale (FTXS) 2016<\/a><\/i>, pages 19-26, Kyoto, Japan, May 31 &#8211; June 4, 2016. <a href=\"http:\/\/www.acm.org\" target=\"www.acm.org\" rel=\"noopener\">ACM Press, New York, NY, USA<\/a>. ISBN 978-1-4503-4349-7. DOI <a href=\"http:\/\/dx.doi.org\/10.1145\/2909428.2909429\" target=\"publication\" rel=\"noopener\">10.1145\/2909428.2909429<\/a>. Acceptance rate 85.7% (6\/7). <a href=\"javascript:showAbstract('In the world of high-performance computing, fault tolerance and application resilience are becoming some of the primary concerns because of increasing hardware failures and memory corruptions. While the research community has been investigating various options, from system-level solutions to application-level solutions, standards such as the Message Passing Interface (MPI) are also starting at including such capabilities. The current proposal for MPI fault tolerant is centered around the User-Level Failure Mitigation (ULFM) concept, which provides means for fault detection and recovery of the MPI layer. This approach does not address application-level recovery, which is current left to application developers. In this work, we present a modification of some of the benchmarks of the NAS parallel benchmark (NPB) to include support of the ULFM capabilities as well as application- level strategies and mechanisms for application-level failure recovery. As such, we present: (i) an application-level library to &amp;#34;checkpoint&amp;#34; data, (ii) extensions of NPB benchmarks for fault tolerance based on different strategies, (iii) a fault injection tool, and (iv) some preliminary experiments that shows the impact of such fault tolerant strategies on the application execution.');\"><img decoding=\"async\" src=\"images\/txt.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Abstract\"><\/a> <a href=\"publications\/parchman16adding.pdf\" target=\"publication\" rel=\"noopener\"><img decoding=\"async\" src=\"images\/pdf.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Publication\"><\/a> <a href=\"publications\/parchman16adding.ppt.pdf\" target=\"publication\" rel=\"noopener\"><img decoding=\"async\" src=\"images\/ppt.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Presentation\"><\/a> <a href=\"?page_id=55#parchman16adding\"><img decoding=\"async\" src=\"images\/bib.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"BibTeX Citation\"><\/a><\/li>\n<li>Thomas Naughton, Garry Smith, Christian Engelmann, Geoffroy Vall&eacute;e, Ferrol Aderholdt, and Stephen L. Scott. <b>What is the right balance for performance and isolation with virtualization in HPC?<\/b>. In <i>Lecture Notes in Computer Science: Proceedings of the <a href=\"http:\/\/europar2014.dcc.fc.up.pt\" target=\"europar2014.dcc.fc.up.pt\" rel=\"noopener\">20th European Conference on Parallel and Distributed Computing (Euro-Par) 2014 Workshops<\/a>: <a href=\"http:\/\/www.csm.ornl.gov\/srt\/conferences\/Resilience\/2014\" target=\"www.csm.ornl.gov\/srt\/conferences\/Resilience\/2014\" rel=\"noopener\">7th Workshop on Resiliency in High Performance Computing (Resilience) in Clusters, Clouds, and Grids<\/a><\/i>, pages 570-581, Porto, Portugal, August 25, 2014. <a href=\"http:\/\/www.springer.com\" target=\"www.springer.com\" rel=\"noopener\">Springer Verlag, Berlin, Germany<\/a>. ISBN 978-3-319-14325-5. ISSN 0302-9743. DOI <a href=\"http:\/\/dx.doi.org\/10.1007\/978-3-319-14325-5_49\" target=\"publication\" rel=\"noopener\">10.1007\/978-3-319-14325-5_49<\/a>. Acceptance rate 60.0% (6\/10). <a href=\"javascript:showAbstract('The use of virtualization in high-performance computing (HPC) has been suggested as a means to provide tailored services and added functionality that many users expect from full-featured Linux cluster environments. While the use of virtual machines in HPC can offer several benefits, maintaining performance is a crucial factor. In some instances performance criteria are placed above isolation properties and selective relaxation of isolation for performance is an important characteristic when considering resilience for HPC environments employing virtualization. In this paper we consider some of the factors associated with balancing performance and isolation in configurations that employ virtual machines. In this context, we propose a classification of errors based on the concept of &amp;#34;error zones&amp;#34;, as well as a detailed analysis of the trade-offs between resilience and performance based on the level of isolation provided by virtualization solutions. Finally, the results from a set of experiments are presented, that use different virtualization solutions, and in doing so allow further elucidation of the topic.');\"><img decoding=\"async\" src=\"images\/txt.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Abstract\"><\/a> <a href=\"publications\/naughton14what.pdf\" target=\"publication\" rel=\"noopener\"><img decoding=\"async\" src=\"images\/pdf.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Publication\"><\/a> <a href=\"publications\/naughton14what.ppt.pdf\" target=\"publication\" rel=\"noopener\"><img decoding=\"async\" src=\"images\/ppt.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Presentation\"><\/a> <a href=\"?page_id=55#naughton14what\"><img decoding=\"async\" src=\"images\/bib.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"BibTeX Citation\"><\/a><\/li>\n<\/ol>\n<h4>White Papers<\/h4>\n<ol>\n<li>Geoffroy R. Vall&eacute;e, Thomas Naughton, Christian Engelmann, and David E. Bernholdt. <b>Unified Execution Environment<\/b>. <i>White paper for the U.S. Department of Energy&#39;s <a href=\"http:\/\/collab.cels.anl.gov\/display\/exaosr\/Position+Papers\" target=\"collab.cels.anl.gov\/display\/exaosr\/Position+Papers\" rel=\"noopener\">Exascale Operating Systems and Runtime Technical Council<\/a><\/i>, July 1, 2012. <a href=\"publications\/vallee12unified.pdf\" target=\"publication\" rel=\"noopener\"><img decoding=\"async\" src=\"images\/pdf.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"Publication\"><\/a> <a href=\"?page_id=55#vallee12unified\"><img decoding=\"async\" src=\"images\/bib.gif\" border=\"0\" style=\"border-style:none\" height=\"10pt\" alt=\"BibTeX Citation\"><\/a><\/li>\n<\/ol>\n<p><em><small>Symbols: <img decoding=\"async\" style=\"border-style: none;\" src=\"images\/txt.gif\" border=\"0\" alt=\"Abstract\" height=\"10pt\"> Abstract, <img decoding=\"async\" style=\"border-style: none;\" src=\"images\/pdf.gif\" border=\"0\" alt=\"Publication\" height=\"10pt\"> Publication, <img decoding=\"async\" style=\"border-style: none;\" src=\"images\/ppt.gif\" border=\"0\" alt=\"Presentation\" height=\"10pt\"> Presentation, <img decoding=\"async\" style=\"border-style: none;\" src=\"images\/bib.gif\" border=\"0\" alt=\"BibTeX Citation\" height=\"10pt\"> BibTeX Citation<\/small><\/em><\/p>\n<p><script language=\"JavaScript\">\nfunction showAbstract (text) {\n  var width  = 400;\n  var height = 400;\n  var left   = (screen.width  - width ) \/ 2;\n  var top    = (screen.height - height) \/ 2;\n  var win    = window.open('',\n                           'Abstract',\n                           'width='  + width  + ', ' + \n                           'height=' + height + ', ' +\n                           'left='   + left   + ', ' +\n                           'top='    + top    + ', ' +\n                           'toolbar=no, '     +\n                           'location=no, '    +\n                           'directories=no, ' +\n                           'status=no, '      +\n                           'menubar=no, '     +\n                           'copyhistory=no, ' +\n                           'scrollbars=yes, ' +\n                           'resizable=yes')\n  win.document.write(text);\n  win.document.close();\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This project delivers an operating system and runtime (OS\/R) environment for extreme-scale scientific computing. With application composition as the fundamental driving force, we develop the necessary OS\/R interfaces and low-level system services required to support the isolation and sharing needed to design and implement applications, as well as, performance and correctness tools. Our approach also&hellip;&nbsp;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":145,"menu_order":23,"comment_status":"closed","ping_status":"closed","template":"","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"off","neve_meta_content_width":100,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"class_list":["post-240","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.christian-engelmann.info\/index.php?rest_route=\/wp\/v2\/pages\/240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.christian-engelmann.info\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.christian-engelmann.info\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.christian-engelmann.info\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.christian-engelmann.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=240"}],"version-history":[{"count":6,"href":"https:\/\/www.christian-engelmann.info\/index.php?rest_route=\/wp\/v2\/pages\/240\/revisions"}],"predecessor-version":[{"id":451,"href":"https:\/\/www.christian-engelmann.info\/index.php?rest_route=\/wp\/v2\/pages\/240\/revisions\/451"}],"up":[{"embeddable":true,"href":"https:\/\/www.christian-engelmann.info\/index.php?rest_route=\/wp\/v2\/pages\/145"}],"wp:attachment":[{"href":"https:\/\/www.christian-engelmann.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}