Researchers are working to create new and adapt existing software technologies to operate at exascale by overcoming challenges found in several key areas, such as resiliency, data reduction, software libraries and the management of memory, power and computational resources.