Improving Oil and Gas Simulation Performance Using Thread and Data Mapping

  • Matheus S. SerpaEmail author
  • Eduardo H. M. Cruz
  • Jairo Panetta
  • Antônio Azambuja
  • Alexandre S. Carissimi
  • Philippe O. A. Navaux
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 1171)


Oil and gas have been among the most important commodities for over a century. To improve their extraction, companies invest in new technology, which reduces extraction cost and allow new areas to be explored. Computing science has also been employed to support advances in oil and gas extraction technologies. Techniques such as computing simulation can be used to evaluate scenarios quicker and with a lower cost. Several mathematical models that simulate oil and gas extraction are based on wave propagation. To simulate with high performance, the software must be written considering the characteristics of the underlying hardware. In this context, our work shows how thread and data mapping policies can improve the performance of a wave propagation model provided by Petrobras, a multinational corporation in the petroleum industry. In our experiments, we are revealing that, with smart mapping policies, we reduced the execution time by up to 48.6% on Intel’s multi-core Xeon.


Oil and gas Thread mapping Data mapping 


  1. 1.
    Andreolli, C., Thierry, P., Borges, L., Skinner, G., Yount, C.: Characterization and optimization methodology applied to stencil computations. In: Reinders, J., Jeffers, J. (eds.) High Performance Parallelism Pearls. Morgan Kaufmann, Boston (2015)Google Scholar
  2. 2.
    Carrijo Nasciutti, T., Panetta, J., Pais Lopes, P.: Evaluating optimizations that reduce global memory accesses of stencil computations in GPGPUs. Concurr. Comput.: Pract. Exp. 31, e4929 (2018)Google Scholar
  3. 3.
    Corbet, J.: Toward better NUMA scheduling (2012).
  4. 4.
    Cruz, E.H., Diener, M., Alves, M.A., Pilla, L.L., Navaux, P.O.: LAPT: a locality-aware page table for thread and data mapping. Parallel Comput. 54, 59–71 (2016)CrossRefGoogle Scholar
  5. 5.
    Cruz, E.H., Diener, M., Serpa, M.S., Navaux, P.O.A., Pilla, L., Koren, I.: Improving communication and load balancing with thread mapping in manycore systems. In: 2018 26th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP), pp. 93–100. IEEE (2018)Google Scholar
  6. 6.
    Diener, M., Cruz, E.H.M., Navaux, P.O.A., Busse, A., Heiß, H.U.: kMAF: automatic kernel-level management of thread and data affinity. In: International Conference on Parallel Architectures and Compilation Techniques (PACT) (2014).
  7. 7.
    Diener, M., Cruz, E.H., Alves, M.A., Navaux, P.O., Busse, A., Heiss, H.U.: Kernel-based thread and data mapping for improved memory affinity. IEEE Trans. Parallel Distrib. Syst. 27(9), 2653–2666 (2016)CrossRefGoogle Scholar
  8. 8.
    Fletcher, R.P., Du, X., Fowler, P.J.: Reverse time migration in tilted transversely isotropic (TTI) media. Geophysics 74(6), WCA179–WCA187 (2009)CrossRefGoogle Scholar
  9. 9.
    He, J., Chen, W., Tang, Z.: NestedMP: enabling cache-aware thread mapping for nested parallel shared memory applications. Parallel Comput. 51, 56–66 (2016)CrossRefGoogle Scholar
  10. 10.
    Dongarra, J., Meuer, H., Strohmaier, E.: Top500 supercomputer: November 2018 (2018). Accessed 26 Feb 2019
  11. 11.
    Liu, G., Schmidt, T., Dömer, R., Dingankar, A., Kirkpatrick, D.: Optimizing thread-to-core mapping on manycore platforms with distributed tag directories. In: Asia and South Pacific Design Automation Conference (ASP-DAC) (2015)Google Scholar
  12. 12.
    Micikevicius, P.: 3D finite difference computation on GPUs using CUDA. In: Kaeli, D., Leeser, M. (eds.) Proceedings of 2nd Workshop on General Purpose Processing on Graphics Processing Units, GPGPU-2, pp. 79–84. ACM, New York (2009).
  13. 13.
    Ott, R.L., Longnecker, M.T.: An Introduction to Statistical Methods and Data Analysis. Nelson Education (2015)Google Scholar
  14. 14.
    Serpa, M.S., et al.: Memory performance and bottlenecks in multicore and GPU architectures. In: 2019 27th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP), pp. 233–236, February 2019.
  15. 15.
    Serpa, M.S., Cruz, E.H.M., Panetta, J., Navaux, P.O.A.: Optimizing geophysics models using thread and data mapping. In: 2018 19th Symposium on Computer Systems (2018)Google Scholar
  16. 16.
    Serpa, M.S., et al.: Optimization strategies for geophysics models on manycore systems. Int. J. High Perform. Comput. Appl. 33(3), 473–486 (2019). Scholar
  17. 17.
    Serpa, M.S., Krause, A.M., Cruz, E.H., Navaux, P.O.A., Pasin, M., Felber, P.: Optimizing machine learning algorithms on multi-core and many-core architectures using thread and data mapping. In: 2018 26th Euromicro International Conference on Parallel, Distributed and Network-based Processing (PDP), pp. 329–333. IEEE (2018)Google Scholar
  18. 18.
    Tousimojarad, A., Vanderbauwhede, W.: An efficient thread mapping strategy for multiprogramming on manycore processors. Parallel Comput. Accel. Comput. Sci. Eng. (CSE) Adv. Parallel Comput. 25, 3–71 (2014)Google Scholar
  19. 19.
    Wang, W., Dey, T., Mars, J., Tang, L., Davidson, J.W., Soffa, M.L.: Performance analysis of thread mappings with a holistic view of the hardware resources. In: IEEE International Symposium on Performance Analysis of Systems & Software (ISPASS) (2012).
  20. 20.
    Witten, I.H., Frank, E., Hall, M.A., Pal, C.J.: Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann, Burlington (2016)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Federal University of Rio Grande do Sul, UFRGSPorto AlegreBrazil
  2. 2.Federal Institute of Paraná, IFPRParanavaíBrazil
  3. 3.Technological Institute of Aeronautics, ITASão José dos CamposBrazil
  4. 4.Petróleo Brasileiro S.ARio de JaneiroBrazil

Personalised recommendations