ARM file I/O benchmarks & more

ARM file I/O benchmarks & more

Welcome again reader. I am Jerónimo Sánchez, one of the students working with EPCC during this summer. If you want to know more about the projects I will be working during Summer 2020, don’t forget to read my first post here.

To sum up that post, I am working on a parser tool of IOR files, allowing to quickly create performance reports from those files, given that before this tool it was done manually, so it is a relive for the people working with IOR who want to measure the performance of their systems.

Right now, the parser tool is mainly done, I am just finishing the Wiki about the project and adding some more documentation for maintenance that you can find on the following GitHub repository. Here is a sneak-peak about how the parsing tool works:

IOR parser usage message.

As you can see, the tool is not quite complex regarding the input parameters, but everything twists when the output report is an Excel file.

Here a short example of how the parser tool works:

Which outputs:

A quite a bit long log file.
And a Excel file similar to this one.

If you are willing to learn about the Excel formatting, I recommend you to read this series of posts from Microsoft about that. Also, for a practical example, read the Wiki entry on the GitHub project when it is done.

Furthermore, the Excel template can be customized and loaded at runtime, although the template creating process is a bit tedious.

Also, during this week, I have just started working on a problem related to OMPI and ARM. This problem is called OMPI pinning.

The aforementioned problem consists in that the OPMI (Open MPI) library expects Intel-like numbers when requesting the ID of a hardware thread, but ARM gives said data in a different format, mangling the threads at the moment the user wants a specific one, thus the programmer/user cannot use, for example, only one thread per each core.

At the moment, I still researching about this very problem, hoping to give some insights about it, although the final goal is to create a tool in which the user can introduce the threads they want to use and give them a console command that when introduced, OMPI will mangle the threads but the output will be the desired.

During the following weeks, an update post about the OMPI pinning problem will be uploaded. This is all for now. Thanks for reading!

Tagged with: , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.