[Dune-devel] [GSoC] Dune-perftest report

Christian Engwer christian.engwer at uni-muenster.de
Sat Sep 21 12:41:20 CEST 2013


Dear Miha,

>Since the last email, I added some more views to the website. One can
>see
>test results by test name and optionally by mode, or the results from
>individual test runs. Each test run is identified by a UUID. There is
>another page that shows the number outliers for each test/computer
>combination. The tolerance for classifying a measurement as an outlier
>can
>be specified with a slider in terms of sigmas. If you wish, I can add
>some
>more explanation for non-physicists.

I think this is fine, those working on dune should know what one sigma is :-) 

>I would really like to know the server configuration this will run on,
>so I
>can adapt it before the official end of coding. As I said, I used
>PostgreSQL and Python's CGI interface, so there should be no
>compatibility
>problems. I intentionally made the server part completely separate from
>the
>client, so that it can be deployed separately. If you wish, I can move
>it
>into a separate repository, which would simplify deployment (just run
>"git
>pull").

I think this should work. The server runs Linux, pushes postgresql, python 2 something, Apache. I don't think it is necessary to split the repositories. It's easier to keep everything up-to-date if it is in the same repo.

>There is also the question of uploading files. I implemented HTTP
>upload,
>which can be protected with a simple username/password combination.
>This
>may not be as safe as key-based ssh, but I don't think this will be a
>high-profile hacker target. However, if you still want ssh, I will add
>upload and receive scripts, just like in autobuild. I can do this after
>the
>pencil-down date, but I think it should be quick enough if I follow the
>autobuild model.

Http is fine. As long as the components work independently, we can later add support for the current transport layer.

>Over the weekend, I will document the server code as well, and add
>descriptions of the endpoints. I will also implement secure data
>upload. If
>you want me to do something else before the pencil-down date, please
>tell
>me now. In any case, I am willing to continue my work until October,
>when I
>start my regular job.

The current plan sounds fine.

Ciao Christian

>
>Thank you,
>Miha
>
>
>2013/9/16 Miha Čančula <miha at noughmad.eu>
>
>> In the last week, I finished the local part of the project and
>started
>> working on a central server, similar to how dune-autobuild works.
>>
>> On the local side, I added another generated HTML file that shows the
>last
>> results of each test. There is also easy navigation between different
>tests
>> and different modes (compile, run, both) within each test. I added a
>new
>> 'upload' module that sends data (in the form of plain text files) to
>the
>> server. All the code is documented, and there is some user
>documentation
>> generated with Doxygen.
>>
>> On the server side, I started with receiving files, which is now done
>> using an unprotected HTML upload. Then I added a separate program for
>> processing the files into a database, which can be called either
>remotely
>> or from a cron job. It is separated from the upload, so we can upload
>files
>> using some other means, such as ssh. Finally, there is the program to
>> visualize the data using HTML templates.
>>
>> The server code is in a separate directory (dune/perftest/server) and
>can
>> be just copied into a cgi-bin directory of a web server. I'm using
>lighttpd
>> for local testing, but it should work anywhere. The database used is
>> Postgresql, which I think is used for autobuild as well, so we could
>use
>> the same database. The server scripts create their own db table, so
>there
>> isn't much setup required, and there is a single file ('common.py')
>with
>> database- and server-specific configuration. I'm
>>
>> Today is suggested pencil down, which I will not be able to meet.
>However,
>> I made sure that everything is already documented, and I think there
>is
>> enough error checking. So I will focus on the server this week.
>Considering
>> other parts already work, the main thing will be visualizations.
>First, I
>> will add the same ones we do locally: compile and run results,
>grouped by
>> test. I have also started one that shows all the results of a single
>test
>> run.
>>
>> If there is time, I would like to adapt the client to upload using
>ssh.
>> This will be very similar to the way autobuild works, so I don't
>expect
>> much trouble. However, I don't think I'll be able to test it on the
>real
>> server, so I would like some help in this regard. In any case, I will
>lock
>> down the current HTTP upload with authentication.
>>
>> Regards,
>> Miha
>>





More information about the Dune-devel mailing list