From a139c389712e152f01e538e358e587a3927f3a3d Mon Sep 17 00:00:00 2001 From: Norbert Podhorszki Date: Fri, 8 Oct 2021 08:05:11 -0400 Subject: [PATCH 1/2] Asynchronous IO in BP5: Guided and Naive implementations. Guided uses EnterComputationBlock() and ExitComputationBlock() calls to learn about the communication-free sections of the application and use them for performing IO. Naive simply performs IO eagerly. New BP5 parameter "AsyncWrite" with ON/OFF, true/false, or Sync|Guided|Naive options. New functionalities that were added to the code base: - Create toolkit/shm, create Spinlock object and create TokenChain to serialize processes and pass a token along (within a single compute node of course). - Added adios2::EnterComputation() and adios2::ExitComputation() functions for the user to indicate communication free computation blocks during the execution. - adios_iotest: change Busy cmd: "Busy